PHP内容管理系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1篇 Joomla框架概述篇

1 欢迎来到Joomla

Joomla是一个优秀的CMS系统,是目前全球用户使用最多的CMS系统。Joomla是从著名的CMS系统Mambo中发展出来的。它继承了Mambo系统的优秀开发思想,同时更加灵活和快捷。本章讲解内容如下所示。

Joomla简介

为什么使用Joomla建站

Joomla与其他CMS比较

Joomla的发展

1.1 Joomla简介

Joomla基于PHP+MySQL开发,可运行在Linux、Windows、MacOSX和Solaris等多种平台上。Joomla除了具有一般CMS系统的功能外,还具有模块、组件和插件等扩展功能。Joomla有上千个插件用来扩展功能。常见的插件包括论坛、购物车引擎、博客和广告系统等。用户可以使用这些插件快捷高效地开发网站。

1.1.1 什么是内容管理系统(CMS)

内容管理系统比较广泛,最为常见的就是门户网站中的新闻系统,按照内容管理系统的应用一般可以分为如下两类。

框架:提供底层的开发框架,具体的应用需要基于框架进行开发。最为常见的就是提供一些公共的基类接口,用户可以继承这个基类进行功能开发。

应用:面向具体应用的实现,如新闻系统、论坛、Wiki和投票等一些子系统。常见的如国内的织梦CMS和帝国CMS。

一般内容管理系统都可以分离为三个层面,可能每个内容系统倾向的层面不一样。三个层面大致如下所示。

1.后台管理系统:后台管理系统提供了静态页面生成、用户管理系统、新闻录入系统、BBS论坛管理系统、分类管理系统和系统检索等模块。分模块、分系统的分离、清晰的模块结构,对内容输入还提供所见即所得的编辑器。

2.集成管理系统:集成管理系统可以管理网站首页、频道页面/分类页面和详细页面,入口管理主要是对模板的管理。入口管理将后台管理系统中的子系统组合起来,通过模板管理全部整合渲染到网页上,展示给最终用户。

3.前台发布系统:前台发布系统会对网页进行一些缓存处理以提高网站的性能。同时还会对网站进行一些搜索引擎的优化,对网站URL进行一些设计和处理。

有一些内容管理系统对这三层分得不是很清楚,Joomla按照三层进行分离后,还更加注重内容管理系统的扩展性。它为内容管理系统的二次开发提供良好的接口,同时使内容管理系统耦合度也比较低。

由于搜索引擎优化对网站越来越重要,所以很多内容管理系统都提供了搜索引擎优化子系统,用来支持使用内容管理系统构建的网站更容易被搜索引擎收录。

1.1.2 为什么选择Joomla

Joomla多次获得过最佳CMS开源大奖,得到了很多用户的认可。Joomla初期发展非常迅速,但同时也存在版本不稳定等缺点,系统性能和健壮性也不是很好。Joomla 1.5版本是一个很大的更新,Joomla开发团队对这个版本进行了很多功能更新,目前这个版本也是Joomla最稳定和健壮的版本。下面列举了一些选择Joomla的理由。

1.社区活跃

Joomla社区非常活跃,为Joomla开发了很多开源免费的组件、插件和模块,用户在开发网站过程中可以直接下载使用。Joomla后台还专门提供安装组件、插件和模块的功能,同时也提供卸载的功能,利用这些功能可以方便地安装和卸载。

2.良好的扩展性

Joomla具有很好的扩展性。在选择Joomla后,可以很方便地对Joomla进行二次开发,而不需要改动Joomla的核心代码。Joomla的组件开发采用流行的MVC开发架构,并且组件之间的耦合度很低。

3.对搜索引擎友好

搜索引擎对网站的影响越来越大,Joomla也充分考虑到了这方面。框架内部集成了对搜索引擎友好的功能。Joomla对搜索引擎友好的功能包括如下几部分。

(1)Meta信息设置:网页中的Meta标签,是搜索引擎优化的一个重要点,Joomla对网页中的Meta信息设置非常灵活。在网站的文章管理系统中,用户每增加一篇文章,可以自定义文章的Meta信息。如果用户没有自定义Meta信息,那么Joomla会为这篇文章默认一个Meta信息。Meta信息的自定义不仅限于文章内容管理,还可以在页面类型和模块或者组件进行自定义的设置。HTML中的Meta标签如图1.1所示。

图1.1 Meta标签

(2)URL设计友好:良好的URL结构可以让搜索引擎更好地收录网站的页面。URL设计可以分两部分,一部分是Web服务器的设定,目前在Web开发中比较流行的Web服务器是Apache。Apache提供了mod_rewrite模块,这个模块可以利用正则匹配的方法,将设计好的URL结构利用Apache中正则表达式的方式做好匹配关系。Joomla安装包中自带了一个URL的结构文件,文件默认存储在根目录中,文件名为“htaccess”。打开“htaccess”文件内容,如图1.2所示。

图1.2 htaccess文件内容

可以将这个文件结合Apache,完成Joomla URL的设计工作。如果需要启用新设计好的URL,那么还需要登录到Joomla后,打开后台中对新URL结构启用的开关,如图1.3所示。

图1.3 SEO设置

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

在后台中开启了启用友好搜索引擎网址后,在代码中将会把所有的代码中生成URL的地方,全部启用当前设计好的URL结构。

(3)模板内容布局:模板内容Joomla默认是采用div+css的方式布局,div+css方式布局相对于<table>的布局,可以使网页更小,页面访问速度更快。<table>会使网页中的代码比较多,而且逻辑嵌套也是比较多,不方便开发。div+css对搜索引擎也是友好的,它会使网页结构更加清晰,搜索引擎也就更容易收录网页信息了。

4.实用性

Joomla的实用性很强,并没有特别区分各种类型的网站,一般的中小型网站都可以使用Joomla来构建,Joomla的实用性主要分为以下几个方面。

(1)Joomla安装非常方便。安装时Joomla会检测安装的机器环境,提示安装数据库和所需要的软件。用户只需要在安装完成后,删除“installation”文件夹就可以了。

(2)Joomla的后台管理非常实用,功能区分非常清楚。后台中的工具栏、菜单栏和一些功能区块,都可以通过程序进行维护管理。

(3)Joomla的模板非常多,Joomla的爱好者制作了很多美观实用的模板,用户可以从网上下载后,应用在开发的网站中。

1.2 Joomla与其他CMS的比较

目前基于PHP开发的CMS非常多,国外比较流行的有Joomla、Mambo、Drupal和Xoops,国内比较流行的CMS也非常多,如DedeCMS、ECMS和PHPCMS。这些CMS一般都有新闻管理、分类管理、模板管理、权限管理和图片管理等功能。

下面比较几种国外比较流行的CMS,并讲解这几种CMS的优点和缺点,分别对Drupal、Plone和Joomla进行讲解。

1.2.1 Joomla

Joomla在国内被有人称为逐浪,是Mambo核心开发团队分出来以后另外开发的一个产品。Joomla借助于Mambo的人气和自身产品的优势,得到了迅速的发展。Joomla的优势主要是应用在外部网站开发方面,Joomla应用了很多先进的网站开发技术和非常多的插件、组件、模块和模板。用户可以选择使用多种所见即所得的编辑器,很方便地管理和编辑网站上的文章。Joomla自带了一个缓存机制,主要是片段缓存。用户在网站开发过程中,可以将页面区块进行缓存,提高页面访问速度。

在Joomla中登录后台,选择【网站】|【全站设置】|【系统】命令,可以看到开启缓存的页面,如图1.4所示。

图1.4 缓存设置

在模块的应用中,可以看到缓存的支持,选择【扩展套件】|【模块管理】命令,在打开的【模块管理】页面中,选择其中的【Main Menu】模块,可以看到模块中的缓存设置块,如图1.5所示。

图1.5 模块中缓存设置

用户可以使用MVC架构进行Joomla的扩展开发,使用Joomla中提供的类库灵活地开发一些扩展功能。目前也有一些大企业在网站建设中应用了Joomla,其长处也是应用于网站建设方面。

Joomla也有一些缺点,比如对中文的支持不太好和对CSS的支持不够彻底。

1.2.2 Drupal

Drupal最初是由一个BBS发展出来的一个CMS,由于它具有很好的弹性架构设计,对它进行功能扩充后逐渐发展成一个优秀的内容管理系统。正是由于Drupal最初是由BBS发展出来的,所以比较注重社区和文章管理。Drupal也提供了丰富的插件和功能模块,现在也有很多用户使用Drupal来构建多种功能的动态网站。Drupal支持多种操作系统平台,也是使用PHP语言和MySQL数据库构建,其在架构方面更灵活和开放。

Drupal也有一些缺点,比如历史比Joomla更短、在国内的知名度不高、中文支持不是很好、中文开发资料目前比较少及网站开发的模板也很少。

1.2.3 Plone

Plone内容管理系统主要应用在企业级的开源CMS。Plone拥有很强的稳定性、强健的架构和良好的扩展性。Plone在外部网站建设上应用的比较少,其核心语言是Python。Plone是运行在Zope和CMF上的开放源代码的企业级内容管理系统,Zope是Web服务器。Plone内容管理系统现被很多大企业应用,也说明Plone是一个稳定和强健的企业应用开发的CMS。

Plone也有一些缺点,比如作为CMS外观上要差一些,不利于进行一些外部的网站开发,对于一般个人用户应用起来要求比较高。

1.3 Joomla的发展

Joomla的前身是知名的Mambo系统,国内称为“漫波”。Joomla发展的时间并不是很长,是2005年8月份从Mambo中分离而成立的一个新的系统,迄今为止只有3年左右的时间。下面是有关Mambo到Joomla系统的发展过程中的大事件。

2000年初——Miro公司发布Mambo1.0。

2003年11月——Mambo Open Source 4.5发布。

2004年8月——Mambo Open Source 4.5.1发布。

2005年2月——Mambo Open Source 4.5.2发布。

2005年8月——Joomla正式从Mamo分离出来,建立新的组织Open Source Matters。

2005年9月——Joomla团队发布Joomla1.0.0版本。

2005年10月——Joomla团队发布Joomla1.1Alpha版本,之后更名为Joomla1.5。

2006年9月——Joomla庆祝一周年,下载次数超过250万,社区成员5万名,每月超过1.8TB流量。

2006年10月——Joomla发布1.5beta版本。

2007年7月——Joomla 1.0.13发布,对上一个版本1.0.12做了一些缺陷修复,增强了安全性。

2007年7月至12月——Joomla1.5陆续发布了RC1、RC2、RC3和RC4版本。

2008年1月——Joomla1.5发布,代号为Khepri,Joomla1.5版本开发时间长达两年多,正式版终于发布。

Joomla在发布1.5正式版后,开始拟定1.6版本的白皮书。Joomla开发团队将从社区中吸取更多建议,社区中反映比较好的建议都有可能会出现在1.6版本的规划中,相信Joomla1.6版本会给用户带来更多的惊喜,Joomla社区充满期待。

1.4 本章小结

本章讲解了内容管理系统的具体含义、大多数内容管理系统的特征以及目前内容管理系统的发展趋势。在介绍Joomla时,将Joomla和其他流行的CMS进行比较,列出了Joomla的优点及其目前的缺点。在对比过程中,用户可以根据网站的需求选择CMS,同时也可以看出Joomla能够满足大部分的网站开发需求。

最后讲述了Joomla的历史发展过程,以及Joomla发展过程中的大事件。通过这些大事件,用户可以看出Joomla发展得非常迅速,从Joomla的历史背景中也可以发现Joomla是一个功能强大的内容管理系统。