WordPress,Joomla和Drupal三个CMS系统的比较

zhangzhijun 11次浏览 0个评论

WordPress,Joomla和Drupal都是比较有名的CMS系统,对于基于CMS建站的新站长来说,面对这三个CMS,大部分都会纠结到底选择哪个CMS。

其实网络上对这三个CMS比较的文章已经很多了,从市场占有率、入手难度、资料丰富度等多个方面都有评价,基本结论都是WordPress,简单、易用、易迁移,最适合新手使用。Joomla和Drupal相比wordpress,入门门槛较高。

这三个CMS系统我都用过,其中我的ilearning.org.cn的站点是基于WordPress的,chahuawu.com的站点是基于Joomla的,zhangzhijun.life的站点是基于Drupal的。新站长面对不同CMS主要的纠结点可能在于主题是否丰富,插件是否丰富,是否易用等。下面我结合这三个CMS的系统使用经验,简单做一个比较。

一、易用性

1、UI易用性方面,毋庸置疑,WordPress最简单,安装之后即可使用,而且后台简单明了,对新站在来说不存在任何问题。Joomla次之,对后台摸索一段时间后,大概也能知道每个菜单的作用。Drupal相对比较难,且部分菜单的定义需要一段时间消化和理解,举个例子:词汇和术语。如果没搞清楚这两个菜单的含义,那么在内容分类方面,肯定是一头雾水,极有可能出现折腾2个小时就立马劝退的现象。

2、内容创建方面,WordPress已经明确定义好了页面,文章等内容类型,两类文章内容可以分别管理。但是Joomla和Drupal就不同了,需要定义内容类型(已预置文章,基本页面),且两类内容在菜单层面未做区分,需要通过筛选调减进行筛选。对于WordPress转过来的用户,会有一个适应时间。尽管上述操作比较繁琐,但是却在一定程度上提高了系统的灵活性,比如你可以创建一个画廊的内容类型,也可以创建一个时间线的事件内容类型,没类内容类型,你都可以自定义内容字段。

3、配置方面,WordPress配置非常简单,基本上不需要特别的操作。但是Joomla和Drupal却提供了一堆配置的内容,当前默认的配置下,系统也能正常的运行,如果有特殊需求,可以进行配置项的调整,在一定程度上,通过易用性换取了系统的灵活性。

二、主题开发

主题开发方面,WordPress的所有主题能力,都是通过Thems下的文件体现的,貌似Joomla和Drupal是走了一条相似的路子,提供灵活的定制化能力,前台的展示除了主题文件外,还要在后台配合定义的模块才能展示。Drupal为了提升灵活性,还提供了视图(views)的能力,来自定义展示形式。

下面我们详细对比一下三者在主题开发方面的区别。

wordpress默认仅可以调整前台主题,且前台显示样式完全在主题文件中控制,这种方式对于没有特别定制化需求的场景来说,大大简化了主题开发的难度。

Joomla主题和Drupal主题开发有点类似,但是两者之间还是有一些区别。我们先来看相似的地方。

1、Joomla和Drupal都提供了一个基主题,主题开发者可以基于这些基主题进行定制化开发,系统会进行检测,如果显示主题模板内容有覆盖,可使用新主题,若没有,则使用基主题展示。

2、Joomla和Drupal都需要定义模块的显示位置,在后台配置模块名称并关联显示位置;

3、Joomla和Drupal后台都提供了自定义样式的地方,模板中可以预留获取后台自定义演示的接口,实现展示样式的灵活定制;

上述是Joomla和Drupal主题开发方面的一些相似点,下面再讲讲两者的差异。

1、Joomla主题开发都是以Module(模块)为单元,通过覆写基主题Module的样式,来实现个性化的展示,通常一个Module只需要一个文件即可。Drupal的主题开发围绕Block(块)和views(视图),通常一个模块的展示需要多个Block模板来完成。若系统默认的Block无法满足展示要求,则需要通过views来进行扩展,需要再Drupal后台创建views,block。可以简单的理解为Joomla中显示的内容都是Module,Drupal中展示的是views+block。

2、Joomla主题和WordPress主题类型,主题文件是php文件,但是Drupal主题文件则是twig文件,两者语法上有一定的差异。

3、自定义函数方面,WordPress和Joomla有相似之处,都在一个类似function.php文件中,定义函数,然后在模板文件中调用。但是Drupal和WordPress、Joomla又完全不一样,要自定义函数,改变输出内容,需要在theme文件中增加hook函数来修改,因此你得了解Drupal的API文档及Hook函数机制,对开发者要求进一步提高。

综上所述,主题开发方面,WordPress相对简单,只要明确需要展示的样式,及可以开发主题。而Joomla则需要将展示内容明确到各个Module,通过覆写Module的方式修改前台样式。Drupal则难度进一步加深,需要基于展示演示明确各Block样式,涉及特殊内容展示的,需要自定义views,自定义hook函数。需要开发者了解Block和views之间的关系,以及了解Drupal API文档及Hook函数机制。

三、维护

维护方面我们重点讲模块管理和迁移。

1、WordPress和Joomla类似,在系统后台可以搜索和安装所有可用的模块。Drupal则需要在Drupal官网的模块管理下面,查询需要的模块,安装则需要composer进行安装,模块激活(enable)则可通过后台模块管理功能或者通过命令drush进行激活,需要对Linux系统有一点基本的了解。

2、迁移方面我认为WordPress相对比较简单,备份sql文件,不改变域名和数据库类型的情况下,重新导入SQL即可完成迁移,即使有域名调整的场景,也可以通过更新SQL的方式,完成迁移。Joomla和Drupal没做过迁移,但是也有相关的插件支持迁移。由于Joomla和Drupal前台展示样式涉及后台模块,模块位置,自定义SQL等一些配置,迁移和验证的风险相对高一点。

上述就是我基于3个CMS系统使用情况的一个简单对比总结,如果不想折腾,快速部署使用的,可以选择WordPress,WordPress对新手来说还是非常友好的。如果不怕麻烦,想折腾的,可以选择Joomla和Drupal。

目前我的3个站点,我也在逐步迁移到Drupal,后续也不再想折腾,目前折腾完的这些,已经够我使用了。如果后续再折腾,可能会选择Django吧(Flask已折腾过一次)。

版权申明:

本博客所有文章除特别声明外均采用 BY-NC-SA 4.0 许可协议。依据 BY-NC-SA 4.0 许可协议,转载请附上原文出处链接及本声明。

原文链接: https://zhangzhijun.life/wordpressjoomlahedrupalsangecmsxitongdebijiao.html

Default Avatar

评论

此字段内容将保密,不会被其他人看见。