早就该写这么一篇文章来描述一下 Joomla 和 Drupal 两款优秀的开源 CMS 在一些概念上的细微差异,希望能帮助一部分朋友在熟悉其中一款 CMS 的基础上也更容易熟悉另一款,以下对两个系统的描述都将基于系统自带的插件组件模块及已经安装相应中文包的基础上,所用关键词也是两个中文包里面所用的词汇以方便大家理解,本篇内容仅仅是对一些显而易见的概念差异做一些描述,后续将不断去完善,也希望能起到抛砖引玉的效果让更多 Drupaler 及 Joomlar 加入进来(以下有极少数内容仅适用于 Drupal 6.x 及 Joomla 1.5.x 版本使用)。
关于内容:对于内容的管理是一个 CMS 最最基本的功能,在 Joomla 中被称为“文章(article)”而在 Drupal 中则被称为“节点(node)”;
内容层次:其中 Joomla 的开发者认为三层树形结构已经足够满足需求,其内容层次为“单元(section)-分类(category)-文章(article)”,而 Drupal 则使用更加灵活的基于“术语(term)”的“分类(taxonomy)”,这种结构类似于常见的“标签(tag)”即每个节点可以有任意个分属于不同“词汇表(vocabulary)”的术语,而相同术语的节点可以被成为同一类(这一点非常有用后续将举例说明);
站点管理:你会发现 Joomla 对于前台后台区分非常明显,后台管理需要通过“/administrator/”路径登陆,而 Drupal 则没有明显区别,只是管理员的导航菜单里面会多一个“管理”菜单;
主题模板:在 Joomla 中被称为“模板(templates)”可在线通过 zip 文件安装,而 Drupal 默认将使用基于 phptemplate 模板引擎的“主题(themes)” 需将主题上传至推荐的“/sites/all/themes/”目录下,虽然大概意思相同,但其模板在覆写机制及定制上有着很多区别 Joomla 倾向于根据页面路径分配不同的主题或者叫版型更为贴切,而 Drupal 更喜欢代码化的主题函数来控制页面;
语言环境:二者均支持多语言界面,其中 Joomla 使用 ini 格式的语言文件,而 Drupal 则使用基于 po 格式的语言文件并可在线直接翻译;
扩展支持:在扩展支持上通常是所有 CMS 区别最大的地方,其中 Drupal 所有的扩展功能主要都通过“模块(module)”实现,而 Joomla 的扩展功能主要通过“组件(component)”“模块(module)”“插件(plugin)”三类实现,均可通过在线地址或上传 zip 文件直接安装,需要补充的是 Joomla 的模块扩展其实是指模块类型的扩展;
区域位置:通常主题模板里会定义一些用于显示一些动态内容的地方,在 Joomla 中被称为“位置(position)”而 Drupal 称之为“区域(region)”其定义方法分别位于相应主题模板内的“templateDetails.xml”文件和“template.php”文件中;
关于模块:对于 Drupal 来说模块就是安装的扩展功能,模块与模块之间可相互依赖及调用,这点其实有点类似与 Joomla 的组件,但对于 Joomla 来说,模块是几个比较容易混淆的概念之一,在 Joomla 后台安装扩展功能模块之后会在“创建模块”页面出现相应的模块类型,而通过模块类型创建的模块实体也被称之为模块,所以这点很容易混淆;
目录结构:其中 Joomla 的目录结构“模板(/templates/)”“语言(/language/)”“插件(plugins)”“模块(modules)”“组件(/components/)”无论是系统自带还是第三方开发的各种扩展都按此目录放置,优点是方便安装,即通过在线安装的各种扩展都会自动按以上目录结构分门别类放置,而 Drupal 的主题和模块都有两个目录可供使用即“系统主题(/themes/)”“核心模块(/modules/)”和“其他主题(/sites/all/themes/)”“其他模块(/sites/all/modules/)”主题和模块放置在各自的两个目录内都是可用的,但推荐放于 sites 文件夹内,其实包括“基本配置(/sites/default/settings.php)”文件及“网站文件(/sites/default/files/)”目录均默认被保存于 sites 目录,也就是说备份整个站点或升级站点仅仅需要备份或拷贝 sites 文件夹即可;
待续……
以上的一些关于 Drupal 及 Joomla 两款 CMS 在建站过程中的一些概念及关键词区别都是基于两款系统各自的中文包体现出来的,后续将逐渐补充相应的一些使用及在模板主题开发上的区别。