官术网_书友最值得收藏!

第1篇 Joomla框架概述篇

1 歡迎來(lái)到Joomla

Joomla是一個(gè)優(yōu)秀的CMS系統(tǒng),是目前全球用戶(hù)使用最多的CMS系統(tǒng)。Joomla是從著名的CMS系統(tǒng)Mambo中發(fā)展出來(lái)的。它繼承了Mambo系統(tǒng)的優(yōu)秀開(kāi)發(fā)思想,同時(shí)更加靈活和快捷。本章講解內(nèi)容如下所示。

Joomla簡(jiǎn)介

為什么使用Joomla建站

Joomla與其他CMS比較

Joomla的發(fā)展

1.1 Joomla簡(jiǎn)介

Joomla基于PHP+MySQL開(kāi)發(fā),可運(yùn)行在Linux、Windows、MacOSX和Solaris等多種平臺(tái)上。Joomla除了具有一般CMS系統(tǒng)的功能外,還具有模塊、組件和插件等擴(kuò)展功能。Joomla有上千個(gè)插件用來(lái)擴(kuò)展功能。常見(jiàn)的插件包括論壇、購(gòu)物車(chē)引擎、博客和廣告系統(tǒng)等。用戶(hù)可以使用這些插件快捷高效地開(kāi)發(fā)網(wǎng)站。

1.1.1 什么是內(nèi)容管理系統(tǒng)(CMS)

內(nèi)容管理系統(tǒng)比較廣泛,最為常見(jiàn)的就是門(mén)戶(hù)網(wǎng)站中的新聞系統(tǒng),按照內(nèi)容管理系統(tǒng)的應(yīng)用一般可以分為如下兩類(lèi)。

框架:提供底層的開(kāi)發(fā)框架,具體的應(yīng)用需要基于框架進(jìn)行開(kāi)發(fā)。最為常見(jiàn)的就是提供一些公共的基類(lèi)接口,用戶(hù)可以繼承這個(gè)基類(lèi)進(jìn)行功能開(kāi)發(fā)。

應(yīng)用:面向具體應(yīng)用的實(shí)現(xiàn),如新聞系統(tǒng)、論壇、Wiki和投票等一些子系統(tǒng)。常見(jiàn)的如國(guó)內(nèi)的織夢(mèng)CMS和帝國(guó)CMS。

一般內(nèi)容管理系統(tǒng)都可以分離為三個(gè)層面,可能每個(gè)內(nèi)容系統(tǒng)傾向的層面不一樣。三個(gè)層面大致如下所示。

1.后臺(tái)管理系統(tǒng):后臺(tái)管理系統(tǒng)提供了靜態(tài)頁(yè)面生成、用戶(hù)管理系統(tǒng)、新聞錄入系統(tǒng)、BBS論壇管理系統(tǒng)、分類(lèi)管理系統(tǒng)和系統(tǒng)檢索等模塊。分模塊、分系統(tǒng)的分離、清晰的模塊結(jié)構(gòu),對(duì)內(nèi)容輸入還提供所見(jiàn)即所得的編輯器。

2.集成管理系統(tǒng):集成管理系統(tǒng)可以管理網(wǎng)站首頁(yè)、頻道頁(yè)面/分類(lèi)頁(yè)面和詳細(xì)頁(yè)面,入口管理主要是對(duì)模板的管理。入口管理將后臺(tái)管理系統(tǒng)中的子系統(tǒng)組合起來(lái),通過(guò)模板管理全部整合渲染到網(wǎng)頁(yè)上,展示給最終用戶(hù)。

3.前臺(tái)發(fā)布系統(tǒng):前臺(tái)發(fā)布系統(tǒng)會(huì)對(duì)網(wǎng)頁(yè)進(jìn)行一些緩存處理以提高網(wǎng)站的性能。同時(shí)還會(huì)對(duì)網(wǎng)站進(jìn)行一些搜索引擎的優(yōu)化,對(duì)網(wǎng)站URL進(jìn)行一些設(shè)計(jì)和處理。

有一些內(nèi)容管理系統(tǒng)對(duì)這三層分得不是很清楚,Joomla按照三層進(jìn)行分離后,還更加注重內(nèi)容管理系統(tǒng)的擴(kuò)展性。它為內(nèi)容管理系統(tǒng)的二次開(kāi)發(fā)提供良好的接口,同時(shí)使內(nèi)容管理系統(tǒng)耦合度也比較低。

由于搜索引擎優(yōu)化對(duì)網(wǎng)站越來(lái)越重要,所以很多內(nèi)容管理系統(tǒng)都提供了搜索引擎優(yōu)化子系統(tǒng),用來(lái)支持使用內(nèi)容管理系統(tǒng)構(gòu)建的網(wǎng)站更容易被搜索引擎收錄。

1.1.2 為什么選擇Joomla

Joomla多次獲得過(guò)最佳CMS開(kāi)源大獎(jiǎng),得到了很多用戶(hù)的認(rèn)可。Joomla初期發(fā)展非常迅速,但同時(shí)也存在版本不穩(wěn)定等缺點(diǎn),系統(tǒng)性能和健壯性也不是很好。Joomla 1.5版本是一個(gè)很大的更新,Joomla開(kāi)發(fā)團(tuán)隊(duì)對(duì)這個(gè)版本進(jìn)行了很多功能更新,目前這個(gè)版本也是Joomla最穩(wěn)定和健壯的版本。下面列舉了一些選擇Joomla的理由。

1.社區(qū)活躍

Joomla社區(qū)非常活躍,為Joomla開(kāi)發(fā)了很多開(kāi)源免費(fèi)的組件、插件和模塊,用戶(hù)在開(kāi)發(fā)網(wǎng)站過(guò)程中可以直接下載使用。Joomla后臺(tái)還專(zhuān)門(mén)提供安裝組件、插件和模塊的功能,同時(shí)也提供卸載的功能,利用這些功能可以方便地安裝和卸載。

2.良好的擴(kuò)展性

Joomla具有很好的擴(kuò)展性。在選擇Joomla后,可以很方便地對(duì)Joomla進(jìn)行二次開(kāi)發(fā),而不需要改動(dòng)Joomla的核心代碼。Joomla的組件開(kāi)發(fā)采用流行的MVC開(kāi)發(fā)架構(gòu),并且組件之間的耦合度很低。

3.對(duì)搜索引擎友好

搜索引擎對(duì)網(wǎng)站的影響越來(lái)越大,Joomla也充分考慮到了這方面。框架內(nèi)部集成了對(duì)搜索引擎友好的功能。Joomla對(duì)搜索引擎友好的功能包括如下幾部分。

(1)Meta信息設(shè)置:網(wǎng)頁(yè)中的Meta標(biāo)簽,是搜索引擎優(yōu)化的一個(gè)重要點(diǎn),Joomla對(duì)網(wǎng)頁(yè)中的Meta信息設(shè)置非常靈活。在網(wǎng)站的文章管理系統(tǒng)中,用戶(hù)每增加一篇文章,可以自定義文章的Meta信息。如果用戶(hù)沒(méi)有自定義Meta信息,那么Joomla會(huì)為這篇文章默認(rèn)一個(gè)Meta信息。Meta信息的自定義不僅限于文章內(nèi)容管理,還可以在頁(yè)面類(lè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)站的頁(yè)面。URL設(shè)計(jì)可以分兩部分,一部分是Web服務(wù)器的設(shè)定,目前在Web開(kāi)發(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)存儲(chǔ)在根目錄中,文件名為“htaccess”。打開(kāi)“htaccess”文件內(nèi)容,如圖1.2所示。

圖1.2 htaccess文件內(nèi)容

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

圖1.3 SEO設(shè)置

注意:如果要使用htaccess文件,需要將htaccess文件重命名為“.htaccess”。

在后臺(tái)中開(kāi)啟了啟用友好搜索引擎網(wǎng)址后,在代碼中將會(huì)把所有的代碼中生成URL的地方,全部啟用當(dāng)前設(shè)計(jì)好的URL結(jié)構(gòu)。

(3)模板內(nèi)容布局:模板內(nèi)容Joomla默認(rèn)是采用div+css的方式布局,div+css方式布局相對(duì)于<table>的布局,可以使網(wǎng)頁(yè)更小,頁(yè)面訪(fǎng)問(wèn)速度更快。<table>會(huì)使網(wǎng)頁(yè)中的代碼比較多,而且邏輯嵌套也是比較多,不方便開(kāi)發(fā)。div+css對(duì)搜索引擎也是友好的,它會(huì)使網(wǎng)頁(yè)結(jié)構(gòu)更加清晰,搜索引擎也就更容易收錄網(wǎng)頁(yè)信息了。

4.實(shí)用性

Joomla的實(shí)用性很強(qiáng),并沒(méi)有特別區(qū)分各種類(lèi)型的網(wǎng)站,一般的中小型網(wǎng)站都可以使用Joomla來(lái)構(gòu)建,Joomla的實(shí)用性主要分為以下幾個(gè)方面。

(1)Joomla安裝非常方便。安裝時(shí)Joomla會(huì)檢測(cè)安裝的機(jī)器環(huán)境,提示安裝數(shù)據(jù)庫(kù)和所需要的軟件。用戶(hù)只需要在安裝完成后,刪除“installation”文件夾就可以了。

(2)Joomla的后臺(tái)管理非常實(shí)用,功能區(qū)分非常清楚。后臺(tái)中的工具欄、菜單欄和一些功能區(qū)塊,都可以通過(guò)程序進(jìn)行維護(hù)管理。

(3)Joomla的模板非常多,Joomla的愛(ài)好者制作了很多美觀(guān)實(shí)用的模板,用戶(hù)可以從網(wǎng)上下載后,應(yīng)用在開(kāi)發(fā)的網(wǎng)站中。

1.2 Joomla與其他CMS的比較

目前基于PHP開(kāi)發(fā)的CMS非常多,國(guó)外比較流行的有Joomla、Mambo、Drupal和Xoops,國(guó)內(nèi)比較流行的CMS也非常多,如DedeCMS、ECMS和PHPCMS。這些CMS一般都有新聞管理、分類(lèi)管理、模板管理、權(quán)限管理和圖片管理等功能。

下面比較幾種國(guó)外比較流行的CMS,并講解這幾種CMS的優(yōu)點(diǎn)和缺點(diǎn),分別對(duì)Drupal、Plone和Joomla進(jìn)行講解。

1.2.1 Joomla

Joomla在國(guó)內(nèi)被有人稱(chēng)為逐浪,是Mambo核心開(kāi)發(fā)團(tuán)隊(duì)分出來(lái)以后另外開(kāi)發(fā)的一個(gè)產(chǎn)品。Joomla借助于Mambo的人氣和自身產(chǎn)品的優(yōu)勢(shì),得到了迅速的發(fā)展。Joomla的優(yōu)勢(shì)主要是應(yīng)用在外部網(wǎng)站開(kāi)發(fā)方面,Joomla應(yīng)用了很多先進(jìn)的網(wǎng)站開(kāi)發(fā)技術(shù)和非常多的插件、組件、模塊和模板。用戶(hù)可以選擇使用多種所見(jiàn)即所得的編輯器,很方便地管理和編輯網(wǎng)站上的文章。Joomla自帶了一個(gè)緩存機(jī)制,主要是片段緩存。用戶(hù)在網(wǎng)站開(kāi)發(fā)過(guò)程中,可以將頁(yè)面區(qū)塊進(jìn)行緩存,提高頁(yè)面訪(fǎng)問(wèn)速度。

在Joomla中登錄后臺(tái),選擇【網(wǎng)站】|【全站設(shè)置】|【系統(tǒng)】命令,可以看到開(kāi)啟緩存的頁(yè)面,如圖1.4所示。

圖1.4 緩存設(shè)置

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

圖1.5 模塊中緩存設(shè)置

用戶(hù)可以使用MVC架構(gòu)進(jìn)行Joomla的擴(kuò)展開(kāi)發(fā),使用Joomla中提供的類(lèi)庫(kù)靈活地開(kāi)發(fā)一些擴(kuò)展功能。目前也有一些大企業(yè)在網(wǎng)站建設(shè)中應(yīng)用了Joomla,其長(zhǎng)處也是應(yīng)用于網(wǎng)站建設(shè)方面。

Joomla也有一些缺點(diǎn),比如對(duì)中文的支持不太好和對(duì)CSS的支持不夠徹底。

1.2.2 Drupal

Drupal最初是由一個(gè)BBS發(fā)展出來(lái)的一個(gè)CMS,由于它具有很好的彈性架構(gòu)設(shè)計(jì),對(duì)它進(jìn)行功能擴(kuò)充后逐漸發(fā)展成一個(gè)優(yōu)秀的內(nèi)容管理系統(tǒng)。正是由于Drupal最初是由BBS發(fā)展出來(lái)的,所以比較注重社區(qū)和文章管理。Drupal也提供了豐富的插件和功能模塊,現(xiàn)在也有很多用戶(hù)使用Drupal來(lái)構(gòu)建多種功能的動(dòng)態(tài)網(wǎng)站。Drupal支持多種操作系統(tǒng)平臺(tái),也是使用PHP語(yǔ)言和MySQL數(shù)據(jù)庫(kù)構(gòu)建,其在架構(gòu)方面更靈活和開(kāi)放。

Drupal也有一些缺點(diǎn),比如歷史比Joomla更短、在國(guó)內(nèi)的知名度不高、中文支持不是很好、中文開(kāi)發(fā)資料目前比較少及網(wǎng)站開(kāi)發(fā)的模板也很少。

1.2.3 Plone

Plone內(nèi)容管理系統(tǒng)主要應(yīng)用在企業(yè)級(jí)的開(kāi)源CMS。Plone擁有很強(qiáng)的穩(wěn)定性、強(qiáng)健的架構(gòu)和良好的擴(kuò)展性。Plone在外部網(wǎng)站建設(shè)上應(yīng)用的比較少,其核心語(yǔ)言是Python。Plone是運(yùn)行在Zope和CMF上的開(kāi)放源代碼的企業(yè)級(jí)內(nèi)容管理系統(tǒng),Zope是Web服務(wù)器。Plone內(nèi)容管理系統(tǒng)現(xiàn)被很多大企業(yè)應(yīng)用,也說(shuō)明Plone是一個(gè)穩(wěn)定和強(qiáng)健的企業(yè)應(yīng)用開(kāi)發(fā)的CMS。

Plone也有一些缺點(diǎn),比如作為CMS外觀(guān)上要差一些,不利于進(jìn)行一些外部的網(wǎng)站開(kāi)發(fā),對(duì)于一般個(gè)人用戶(hù)應(yīng)用起來(lái)要求比較高。

1.3 Joomla的發(fā)展

Joomla的前身是知名的Mambo系統(tǒng),國(guó)內(nèi)稱(chēng)為“漫波”。Joomla發(fā)展的時(shí)間并不是很長(zhǎng),是2005年8月份從Mambo中分離而成立的一個(gè)新的系統(tǒng),迄今為止只有3年左右的時(shí)間。下面是有關(guān)Mambo到Joomla系統(tǒng)的發(fā)展過(guò)程中的大事件。

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分離出來(lái),建立新的組織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ù)超過(guò)250萬(wàn),社區(qū)成員5萬(wàn)名,每月超過(guò)1.8TB流量。

2006年10月——Joomla發(fā)布1.5beta版本。

2007年7月——Joomla 1.0.13發(fā)布,對(duì)上一個(gè)版本1.0.12做了一些缺陷修復(fù),增強(qiáng)了安全性。

2007年7月至12月——Joomla1.5陸續(xù)發(fā)布了RC1、RC2、RC3和RC4版本。

2008年1月——Joomla1.5發(fā)布,代號(hào)為Khepri,Joomla1.5版本開(kāi)發(fā)時(shí)間長(zhǎng)達(dá)兩年多,正式版終于發(fā)布。

Joomla在發(fā)布1.5正式版后,開(kāi)始擬定1.6版本的白皮書(shū)。Joomla開(kāi)發(fā)團(tuán)隊(duì)將從社區(qū)中吸取更多建議,社區(qū)中反映比較好的建議都有可能會(huì)出現(xiàn)在1.6版本的規(guī)劃中,相信Joomla1.6版本會(huì)給用戶(hù)帶來(lái)更多的驚喜,Joomla社區(qū)充滿(mǎn)期待。

1.4 本章小結(jié)

本章講解了內(nèi)容管理系統(tǒng)的具體含義、大多數(shù)內(nèi)容管理系統(tǒng)的特征以及目前內(nèi)容管理系統(tǒng)的發(fā)展趨勢(shì)。在介紹Joomla時(shí),將Joomla和其他流行的CMS進(jìn)行比較,列出了Joomla的優(yōu)點(diǎn)及其目前的缺點(diǎn)。在對(duì)比過(guò)程中,用戶(hù)可以根據(jù)網(wǎng)站的需求選擇CMS,同時(shí)也可以看出Joomla能夠滿(mǎn)足大部分的網(wǎng)站開(kāi)發(fā)需求。

最后講述了Joomla的歷史發(fā)展過(guò)程,以及Joomla發(fā)展過(guò)程中的大事件。通過(guò)這些大事件,用戶(hù)可以看出Joomla發(fā)展得非常迅速,從Joomla的歷史背景中也可以發(fā)現(xiàn)Joomla是一個(gè)功能強(qiáng)大的內(nèi)容管理系統(tǒng)。

主站蜘蛛池模板: 勐海县| 永嘉县| 鹤山市| 静乐县| 响水县| 封丘县| 石狮市| 神池县| 寻甸| 长宁县| 永城市| 环江| 武城县| 呼和浩特市| 卓资县| 甘德县| 南阳市| 巴林右旗| 卓尼县| 吴江市| 乐至县| 沙坪坝区| 永春县| 湄潭县| 翁牛特旗| 崇仁县| 苍梧县| 买车| 盖州市| 南召县| 梁平县| 嵩明县| 苗栗市| 溧水县| 南阳市| 平顶山市| 榆树市| 灵寿县| 鲁甸县| 泸州市| 桂东县|