Joomla 教程
Joomla
Joomla! 是一套自由、开放源代码的内容管理系统,以 PHP 撰写,用于发布内容在万维网与内部网,通常被用来搭建商业网站、个人部落格、资讯管理系统、Web 服务等,还可以进行二次开发以扩充使用范围。其功能包含可提高效能的页面快取、RSS 馈送、页面的可打印版本、新闻摘要、部落格、投票、网站搜寻、与语言国际化。Joomla! 是一套自由的开源软件,使用 GPL 授权,任何人随时都能下载 Joomla! 并立即使用它。
Joomla! 名称的由来
Joomla! 这个单字来自斯瓦希里语的英文串法,意思是“all together”或“as a whole”。
它不单纯只代表内容管理系统,而是一个品牌名称。除了 Joomla!CMS 以外,另外还有 Joomla!Platform 与 Joomla!Framework 等相关的开源 Web 框架专案正在进行中。
架构
框架层
Joomla!Platform 与 Joomla! Framework。以上两者的框架层已支援 PSR-0, HMVC, RESTful 等现代标准。而 CMS 因为历史包袱仅支援 Legacy 模式的功能,暂时还无法发挥框架层的全部特色。
函式库
PHPMailer, Simple Pie 等等
应用层
前后台各自为延伸自框架层的实体应用程序 (Application),并共用资料表。
扩充套件 (Extensions)
分为元件 (Component)、模组 (Module) 与外挂 (Plugin) 三种型式,核心功能如内容管理、媒体管理、选单系统皆是扩充套件的一环。每个元件皆采 MVC 架构开发,并由应用层的 Router 依据网址的约定原则指向到不同的元件管理页面。
显示层
支援 HTML, XML, JSON, Feed 等多种形式的显示格式,用来面对不同类型的应用。
模板
采用自制的模板引擎,并提供元件与模组的覆盖输出,可以在模板中借由增加程式档案的方式轻易取代内建显示画面,而无须 Hack 源代码。
前端工具
集成 MooTools, jQuery, jQuery UI, , LESS 与 IcoMoon 等前端辅助框架或工具,方便设计师设计功能强大的 UI
数据库支援
Joomla! 已支援 5 种数据库,分别是:
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- SQLite (目前仅框架层支援)
网站服务器支援
目前 Joomla! 直接支援的服务器软件为 Apache 与 IIS,除此之外经过简单配置也可以运行在 nginx 与 Lighttpd 上。
适用范例与实例
Joomla! 系统是一个通用性的网站系统,意指几乎所有类型的网站都可以在这个系统的基础下建立或发展,不论是个人使用的部落格、一般企业使用的网站到大型的社群网站或新闻网站,透过丰富而多元的扩充套件,都可以找到对应的功能。快速、多样化而方便的扩充管理功能,减少建置的时间和成本,是最吸引使用者选择这套系统的优点。 使用 Joomla! 建置的知名企业不胜枚举,在国外的网站市场中占有一席之地,以下的网站都是使用 Joomla! 建置的:
- 古根汉美术馆
- 宜家家居(科威特及阿拉伯)
- eBay
- Jaguar
- PlayShakespeare.com (Cultural) - http://www.playshakespeare.com
中文市场的努力推广下,也出现了许多知名企业或组织使用这套系统,作为网站建置的基础,例如以下的实际案例:
- 国立公共资讯图书馆 http://publiclib.nlpi.edu.tw/
- 台中市立梧栖国民中学 http://www.wcjs.tc.edu.tw/wuchi/
- 台湾母语日网站 - 澎湖县政府教育处 http://www2.penghunative.phc.edu.tw/
- 国立台中特殊教育学校 http://www.tcspe.tc.edu.tw/
- 国立高雄师大附中 http://www.nknush.kh.edu.tw/
- 中兴大学实验林保育计划 http://plant-nchu.org/
- 幸福小栈 https://web.archive.org/web/20150601005156/http://happiness-edu.org/
- 中兴大学会计系 - http://gia.nchu.edu.tw/
- 高雄医学大学图书资讯处 - http://olis.kmu.edu.tw/
发展路线
目前的 Joomla! 3.x 皆为 STS 短期支援,预计最近的一版 LTS 长期支援版会是 3.5。Joomla! 4 则预计将移除许多 PHP 5.2 时代的残留程式码,整合前后台 Application 为单一入口,并导入 Composer 与 PSR 等目前流行的先进开发技术。而从 Joomla! 3.x 开始加入的 UCM (Unified Content Model) 统一内容模型将成为往后版本建立 CCK 应用的基础。
Joomla! 从 2014 年 4 月 25 日停止分为 LTS、STS 长短期支援的模式,以求能够更快的更新系统、加入新的技术,不受 LTS 的制约,自 Joomla!3.3 之后,每一个第二位版号都是稳定版本,并代表着系统的修改,生命尽头在下一位版号发布,如 3.4 版之后就终结 3.3 版生命周期,第三位版号代表的是更新修正档发布,而第一位版号代表的是大幅度的调整更新。
3.8 至 3.9 是 3.x 系列的最后两个版本,除了大量将原有程式码升级到最现代化的水准之外,也开始提供相容未来 Joomla! 4 的中介层。
因为 GDPR 的原因,3.9 成为独立的发布版本,4.x 版本的时间则向后推延。直到 2019/09/21 发布的版本为 3.9.12,发布原因为漏洞修补。
3.10 将成为 3.x 系列的最后一个版本,单纯为 Joomla! 4.0 的降阶版本,作为 3.x 过渡到 4.x 的缓冲,给予 Joomla! 网站管理员测试并升级 4.0 版本的过度。预期 3.9.10 将与 Joomla! 4.0 同时发布。
Joomla! 4 是下一代 Jomla! 的版本,作为第一位版本号,Joomla! 核心与界面都将有大幅度的变动,主要特点是改用 Bootstrap4 、 Frameworks 2.0 并加入大量现代化前端技术如 Web component 、CSS Grid 与 Flex box 等,因此将放弃对旧型浏览器的支援度。另外核心程式码也经过大量改写,全面采用现代化 PHP 的开发标准,是自 1.6 以来最大的核心更动。且 Joomla! 4 的 php 版本最低要求为 PHP 7.0,这是因为 PHP 7.0 提供了更好的运作效能,且为了能够继续朝向未来的发展方向靠拢。Joomla! 4.0 最新的开发版本为 2019 年 08 月 19 日发布的 4.0.0 Alpha 11,预期将于 2019 年末或者 2020 年初发布 4.0 Bata,2020 下半年度 Joomla! 4.0 正式发表。