Joomla还是WordPress?一切从心智模型出发(2)
本站原创编译,转载请给面子,尊重劳动果实,欢迎交流指正。
前面一篇里面,我们对Joomla和WordPress的背景常识及WordPress的主题模型做了大致了解;貌似还没有涉及到心智模型及CMS选择方面的话题,今天来看Joomla的主题模板机制。
与WordPress相比,Joomla有着一套完全不同的主题机制。Joomla的模板构建于index.php,这个全局的结构文件之上。
index.php文件包括静态内容(整站全局性的内容或结构)及模板标签。作为容器,模板标签会在页面渲染时输出那些分配给该容器的内容数据。例如下面的jdoc模板标签代码会输出那些分配给“right”模块位的内容:
<jdoc:include type="modules" name="right" style="xhtml" />
有关jdoc声明的详情,可以参见“Joomla文档中文翻译 - 什么是jdoc声明”。
这种结构使CMS中的视图模式只输出那些有必要输出的内容。从WordPress转来的开发人员一开始会搞不清楚怎样自定义这些貌似封装好了的内容区块。Joomla基于MVC模式,数据的读取和表现是相互独立的,后者由MVC中的“View”渲染输出。有关Joomla的MVC模式开发,可以参见“Joomla文档中文翻译 - 开发者”。
模板自定义
Joomla使用模板覆盖机制(template override),系统会优先扫描模板文件夹中的自定义模板文件,并用来覆盖系统核心中的相应模板文件;下面的图中示意了核心模板文件和自定义模板文件的对应关系:

左边是系统核心内容组件com_content的一部分,模板文件default.php对应着ja_purity模板中的同名文件。
Joomla的模板覆盖机制允许我们在避免修改核心文件的基础之上打造自定义模板输出;这一点时常被忽视,而且Joomla对legacy模式的扩展的支持也时常使这种模板覆盖机制变得无用。
本文有关Joomla模板机制的话题就到这里了,要深入了解Joomla模板自定义方面的知识,可以参考“Joomla文档中文翻译 - 模板相关”。
译者:Viiiix7210
如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看英文原文: Joomla And WordPress: A Matter Of Mental Models
| < Prev | Next > |
|---|
