- PHP內(nèi)容管理系統(tǒng)
- 陳紅飛等編著
- 3799字
- 2019-01-01 14:10:18
第1篇 Joomla框架概述篇
1 歡迎來到Joomla
Joomla是一個(gè)優(yōu)秀的CMS系統(tǒng),是目前全球用戶使用最多的CMS系統(tǒng)。Joomla是從著名的CMS系統(tǒng)Mambo中發(fā)展出來的。它繼承了Mambo系統(tǒng)的優(yōu)秀開發(fā)思想,同時(shí)更加靈活和快捷。本章講解內(nèi)容如下所示。
Joomla簡介
為什么使用Joomla建站
Joomla與其他CMS比較
Joomla的發(fā)展
1.1 Joomla簡介
Joomla基于PHP+MySQL開發(fā),可運(yùn)行在Linux、Windows、MacOSX和Solaris等多種平臺上。Joomla除了具有一般CMS系統(tǒng)的功能外,還具有模塊、組件和插件等擴(kuò)展功能。Joomla有上千個(gè)插件用來擴(kuò)展功能。常見的插件包括論壇、購物車引擎、博客和廣告系統(tǒng)等。用戶可以使用這些插件快捷高效地開發(fā)網(wǎng)站。
1.1.1 什么是內(nèi)容管理系統(tǒng)(CMS)
內(nèi)容管理系統(tǒng)比較廣泛,最為常見的就是門戶網(wǎng)站中的新聞系統(tǒng),按照內(nèi)容管理系統(tǒng)的應(yīng)用一般可以分為如下兩類。
框架:提供底層的開發(fā)框架,具體的應(yīng)用需要基于框架進(jìn)行開發(fā)。最為常見的就是提供一些公共的基類接口,用戶可以繼承這個(gè)基類進(jìn)行功能開發(fā)。
應(yīng)用:面向具體應(yīng)用的實(shí)現(xiàn),如新聞系統(tǒng)、論壇、Wiki和投票等一些子系統(tǒng)。常見的如國內(nèi)的織夢CMS和帝國CMS。
一般內(nèi)容管理系統(tǒng)都可以分離為三個(gè)層面,可能每個(gè)內(nèi)容系統(tǒng)傾向的層面不一樣。三個(gè)層面大致如下所示。
1.后臺管理系統(tǒng):后臺管理系統(tǒng)提供了靜態(tài)頁面生成、用戶管理系統(tǒng)、新聞錄入系統(tǒng)、BBS論壇管理系統(tǒng)、分類管理系統(tǒng)和系統(tǒng)檢索等模塊。分模塊、分系統(tǒng)的分離、清晰的模塊結(jié)構(gòu),對內(nèi)容輸入還提供所見即所得的編輯器。
2.集成管理系統(tǒng):集成管理系統(tǒng)可以管理網(wǎng)站首頁、頻道頁面/分類頁面和詳細(xì)頁面,入口管理主要是對模板的管理。入口管理將后臺管理系統(tǒng)中的子系統(tǒng)組合起來,通過模板管理全部整合渲染到網(wǎng)頁上,展示給最終用戶。
3.前臺發(fā)布系統(tǒng):前臺發(fā)布系統(tǒng)會(huì)對網(wǎng)頁進(jìn)行一些緩存處理以提高網(wǎng)站的性能。同時(shí)還會(huì)對網(wǎng)站進(jìn)行一些搜索引擎的優(yōu)化,對網(wǎng)站URL進(jìn)行一些設(shè)計(jì)和處理。
有一些內(nèi)容管理系統(tǒng)對這三層分得不是很清楚,Joomla按照三層進(jìn)行分離后,還更加注重內(nèi)容管理系統(tǒng)的擴(kuò)展性。它為內(nèi)容管理系統(tǒng)的二次開發(fā)提供良好的接口,同時(shí)使內(nèi)容管理系統(tǒng)耦合度也比較低。
由于搜索引擎優(yōu)化對網(wǎng)站越來越重要,所以很多內(nèi)容管理系統(tǒng)都提供了搜索引擎優(yōu)化子系統(tǒng),用來支持使用內(nèi)容管理系統(tǒng)構(gòu)建的網(wǎng)站更容易被搜索引擎收錄。
1.1.2 為什么選擇Joomla
Joomla多次獲得過最佳CMS開源大獎(jiǎng),得到了很多用戶的認(rèn)可。Joomla初期發(fā)展非常迅速,但同時(shí)也存在版本不穩(wěn)定等缺點(diǎn),系統(tǒng)性能和健壯性也不是很好。Joomla 1.5版本是一個(gè)很大的更新,Joomla開發(fā)團(tuán)隊(duì)對這個(gè)版本進(jìn)行了很多功能更新,目前這個(gè)版本也是Joomla最穩(wěn)定和健壯的版本。下面列舉了一些選擇Joomla的理由。
1.社區(qū)活躍
Joomla社區(qū)非常活躍,為Joomla開發(fā)了很多開源免費(fèi)的組件、插件和模塊,用戶在開發(fā)網(wǎng)站過程中可以直接下載使用。Joomla后臺還專門提供安裝組件、插件和模塊的功能,同時(shí)也提供卸載的功能,利用這些功能可以方便地安裝和卸載。
2.良好的擴(kuò)展性
Joomla具有很好的擴(kuò)展性。在選擇Joomla后,可以很方便地對Joomla進(jìn)行二次開發(fā),而不需要改動(dòng)Joomla的核心代碼。Joomla的組件開發(fā)采用流行的MVC開發(fā)架構(gòu),并且組件之間的耦合度很低。
3.對搜索引擎友好
搜索引擎對網(wǎng)站的影響越來越大,Joomla也充分考慮到了這方面。框架內(nèi)部集成了對搜索引擎友好的功能。Joomla對搜索引擎友好的功能包括如下幾部分。
(1)Meta信息設(shè)置:網(wǎng)頁中的Meta標(biāo)簽,是搜索引擎優(yōu)化的一個(gè)重要點(diǎn),Joomla對網(wǎng)頁中的Meta信息設(shè)置非常靈活。在網(wǎng)站的文章管理系統(tǒng)中,用戶每增加一篇文章,可以自定義文章的Meta信息。如果用戶沒有自定義Meta信息,那么Joomla會(huì)為這篇文章默認(rèn)一個(gè)Meta信息。Meta信息的自定義不僅限于文章內(nèi)容管理,還可以在頁面類型和模塊或者組件進(jìn)行自定義的設(shè)置。HTML中的Meta標(biāo)簽如圖1.1所示。

圖1.1 Meta標(biāo)簽
(2)URL設(shè)計(jì)友好:良好的URL結(jié)構(gòu)可以讓搜索引擎更好地收錄網(wǎng)站的頁面。URL設(shè)計(jì)可以分兩部分,一部分是Web服務(wù)器的設(shè)定,目前在Web開發(fā)中比較流行的Web服務(wù)器是Apache。Apache提供了mod_rewrite模塊,這個(gè)模塊可以利用正則匹配的方法,將設(shè)計(jì)好的URL結(jié)構(gòu)利用Apache中正則表達(dá)式的方式做好匹配關(guān)系。Joomla安裝包中自帶了一個(gè)URL的結(jié)構(gòu)文件,文件默認(rèn)存儲在根目錄中,文件名為“htaccess”。打開“htaccess”文件內(nèi)容,如圖1.2所示。

圖1.2 htaccess文件內(nèi)容
可以將這個(gè)文件結(jié)合Apache,完成Joomla URL的設(shè)計(jì)工作。如果需要啟用新設(shè)計(jì)好的URL,那么還需要登錄到Joomla后,打開后臺中對新URL結(jié)構(gòu)啟用的開關(guān),如圖1.3所示。

圖1.3 SEO設(shè)置
注意:如果要使用htaccess文件,需要將htaccess文件重命名為“.htaccess”。
在后臺中開啟了啟用友好搜索引擎網(wǎng)址后,在代碼中將會(huì)把所有的代碼中生成URL的地方,全部啟用當(dāng)前設(shè)計(jì)好的URL結(jié)構(gòu)。
(3)模板內(nèi)容布局:模板內(nèi)容Joomla默認(rèn)是采用div+css的方式布局,div+css方式布局相對于<table>的布局,可以使網(wǎng)頁更小,頁面訪問速度更快。<table>會(huì)使網(wǎng)頁中的代碼比較多,而且邏輯嵌套也是比較多,不方便開發(fā)。div+css對搜索引擎也是友好的,它會(huì)使網(wǎng)頁結(jié)構(gòu)更加清晰,搜索引擎也就更容易收錄網(wǎng)頁信息了。
4.實(shí)用性
Joomla的實(shí)用性很強(qiáng),并沒有特別區(qū)分各種類型的網(wǎng)站,一般的中小型網(wǎng)站都可以使用Joomla來構(gòu)建,Joomla的實(shí)用性主要分為以下幾個(gè)方面。
(1)Joomla安裝非常方便。安裝時(shí)Joomla會(huì)檢測安裝的機(jī)器環(huán)境,提示安裝數(shù)據(jù)庫和所需要的軟件。用戶只需要在安裝完成后,刪除“installation”文件夾就可以了。
(2)Joomla的后臺管理非常實(shí)用,功能區(qū)分非常清楚。后臺中的工具欄、菜單欄和一些功能區(qū)塊,都可以通過程序進(jìn)行維護(hù)管理。
(3)Joomla的模板非常多,Joomla的愛好者制作了很多美觀實(shí)用的模板,用戶可以從網(wǎng)上下載后,應(yīng)用在開發(fā)的網(wǎng)站中。
1.2 Joomla與其他CMS的比較
目前基于PHP開發(fā)的CMS非常多,國外比較流行的有Joomla、Mambo、Drupal和Xoops,國內(nèi)比較流行的CMS也非常多,如DedeCMS、ECMS和PHPCMS。這些CMS一般都有新聞管理、分類管理、模板管理、權(quán)限管理和圖片管理等功能。
下面比較幾種國外比較流行的CMS,并講解這幾種CMS的優(yōu)點(diǎn)和缺點(diǎn),分別對Drupal、Plone和Joomla進(jìn)行講解。
1.2.1 Joomla
Joomla在國內(nèi)被有人稱為逐浪,是Mambo核心開發(fā)團(tuán)隊(duì)分出來以后另外開發(fā)的一個(gè)產(chǎn)品。Joomla借助于Mambo的人氣和自身產(chǎn)品的優(yōu)勢,得到了迅速的發(fā)展。Joomla的優(yōu)勢主要是應(yīng)用在外部網(wǎng)站開發(fā)方面,Joomla應(yīng)用了很多先進(jìn)的網(wǎng)站開發(fā)技術(shù)和非常多的插件、組件、模塊和模板。用戶可以選擇使用多種所見即所得的編輯器,很方便地管理和編輯網(wǎng)站上的文章。Joomla自帶了一個(gè)緩存機(jī)制,主要是片段緩存。用戶在網(wǎng)站開發(fā)過程中,可以將頁面區(qū)塊進(jìn)行緩存,提高頁面訪問速度。
在Joomla中登錄后臺,選擇【網(wǎng)站】|【全站設(shè)置】|【系統(tǒng)】命令,可以看到開啟緩存的頁面,如圖1.4所示。

圖1.4 緩存設(shè)置
在模塊的應(yīng)用中,可以看到緩存的支持,選擇【擴(kuò)展套件】|【模塊管理】命令,在打開的【模塊管理】頁面中,選擇其中的【Main Menu】模塊,可以看到模塊中的緩存設(shè)置塊,如圖1.5所示。

圖1.5 模塊中緩存設(shè)置
用戶可以使用MVC架構(gòu)進(jìn)行Joomla的擴(kuò)展開發(fā),使用Joomla中提供的類庫靈活地開發(fā)一些擴(kuò)展功能。目前也有一些大企業(yè)在網(wǎng)站建設(shè)中應(yīng)用了Joomla,其長處也是應(yīng)用于網(wǎng)站建設(shè)方面。
Joomla也有一些缺點(diǎn),比如對中文的支持不太好和對CSS的支持不夠徹底。
1.2.2 Drupal
Drupal最初是由一個(gè)BBS發(fā)展出來的一個(gè)CMS,由于它具有很好的彈性架構(gòu)設(shè)計(jì),對它進(jìn)行功能擴(kuò)充后逐漸發(fā)展成一個(gè)優(yōu)秀的內(nèi)容管理系統(tǒng)。正是由于Drupal最初是由BBS發(fā)展出來的,所以比較注重社區(qū)和文章管理。Drupal也提供了豐富的插件和功能模塊,現(xiàn)在也有很多用戶使用Drupal來構(gòu)建多種功能的動(dòng)態(tài)網(wǎng)站。Drupal支持多種操作系統(tǒng)平臺,也是使用PHP語言和MySQL數(shù)據(jù)庫構(gòu)建,其在架構(gòu)方面更靈活和開放。
Drupal也有一些缺點(diǎn),比如歷史比Joomla更短、在國內(nèi)的知名度不高、中文支持不是很好、中文開發(fā)資料目前比較少及網(wǎng)站開發(fā)的模板也很少。
1.2.3 Plone
Plone內(nèi)容管理系統(tǒng)主要應(yīng)用在企業(yè)級的開源CMS。Plone擁有很強(qiáng)的穩(wěn)定性、強(qiáng)健的架構(gòu)和良好的擴(kuò)展性。Plone在外部網(wǎng)站建設(shè)上應(yīng)用的比較少,其核心語言是Python。Plone是運(yùn)行在Zope和CMF上的開放源代碼的企業(yè)級內(nèi)容管理系統(tǒng),Zope是Web服務(wù)器。Plone內(nèi)容管理系統(tǒng)現(xiàn)被很多大企業(yè)應(yīng)用,也說明Plone是一個(gè)穩(wěn)定和強(qiáng)健的企業(yè)應(yīng)用開發(fā)的CMS。
Plone也有一些缺點(diǎn),比如作為CMS外觀上要差一些,不利于進(jìn)行一些外部的網(wǎng)站開發(fā),對于一般個(gè)人用戶應(yīng)用起來要求比較高。
1.3 Joomla的發(fā)展
Joomla的前身是知名的Mambo系統(tǒng),國內(nèi)稱為“漫波”。Joomla發(fā)展的時(shí)間并不是很長,是2005年8月份從Mambo中分離而成立的一個(gè)新的系統(tǒng),迄今為止只有3年左右的時(shí)間。下面是有關(guān)Mambo到Joomla系統(tǒng)的發(fā)展過程中的大事件。
2000年初——Miro公司發(fā)布Mambo1.0。
2003年11月——Mambo Open Source 4.5發(fā)布。
2004年8月——Mambo Open Source 4.5.1發(fā)布。
2005年2月——Mambo Open Source 4.5.2發(fā)布。
2005年8月——Joomla正式從Mamo分離出來,建立新的組織Open Source Matters。
2005年9月——Joomla團(tuán)隊(duì)發(fā)布Joomla1.0.0版本。
2005年10月——Joomla團(tuán)隊(duì)發(fā)布Joomla1.1Alpha版本,之后更名為Joomla1.5。
2006年9月——Joomla慶祝一周年,下載次數(shù)超過250萬,社區(qū)成員5萬名,每月超過1.8TB流量。
2006年10月——Joomla發(fā)布1.5beta版本。
2007年7月——Joomla 1.0.13發(fā)布,對上一個(gè)版本1.0.12做了一些缺陷修復(fù),增強(qiáng)了安全性。
2007年7月至12月——Joomla1.5陸續(xù)發(fā)布了RC1、RC2、RC3和RC4版本。
2008年1月——Joomla1.5發(fā)布,代號為Khepri,Joomla1.5版本開發(fā)時(shí)間長達(dá)兩年多,正式版終于發(fā)布。
Joomla在發(fā)布1.5正式版后,開始擬定1.6版本的白皮書。Joomla開發(fā)團(tuán)隊(duì)將從社區(qū)中吸取更多建議,社區(qū)中反映比較好的建議都有可能會(huì)出現(xiàn)在1.6版本的規(guī)劃中,相信Joomla1.6版本會(huì)給用戶帶來更多的驚喜,Joomla社區(qū)充滿期待。
1.4 本章小結(jié)
本章講解了內(nèi)容管理系統(tǒng)的具體含義、大多數(shù)內(nèi)容管理系統(tǒng)的特征以及目前內(nèi)容管理系統(tǒng)的發(fā)展趨勢。在介紹Joomla時(shí),將Joomla和其他流行的CMS進(jìn)行比較,列出了Joomla的優(yōu)點(diǎn)及其目前的缺點(diǎn)。在對比過程中,用戶可以根據(jù)網(wǎng)站的需求選擇CMS,同時(shí)也可以看出Joomla能夠滿足大部分的網(wǎng)站開發(fā)需求。
最后講述了Joomla的歷史發(fā)展過程,以及Joomla發(fā)展過程中的大事件。通過這些大事件,用戶可以看出Joomla發(fā)展得非常迅速,從Joomla的歷史背景中也可以發(fā)現(xiàn)Joomla是一個(gè)功能強(qiáng)大的內(nèi)容管理系統(tǒng)。
- Data Visualization with D3 4.x Cookbook(Second Edition)
- 數(shù)據(jù)庫程序員面試筆試真題與解析
- Computer Vision for the Web
- Responsive Web Design with HTML5 and CSS3
- Integrating Facebook iOS SDK with Your Application
- Hands-On JavaScript for Python Developers
- FFmpeg開發(fā)實(shí)戰(zhàn):從零基礎(chǔ)到短視頻上線
- 計(jì)算語言學(xué)導(dǎo)論
- OpenCV 3.0 Computer Vision with Java
- 數(shù)字媒體技術(shù)概論
- Mapping with ArcGIS Pro
- SAS編程演義
- 透視C#核心技術(shù):系統(tǒng)架構(gòu)及移動(dòng)端開發(fā)
- Moodle 3.x Developer's Guide
- HTML5 and CSS3:Building Responsive Websites