你现在的位置:首页 > PHP网站建设知识库 > Joomla > 正文

如何通过模板覆盖的方式修改Joomla的系统输出

joomla开发中,有时你希望能修改Joomla扩展(例如组件、模块这样的系统扩展或第三方扩展)在前台页面中的输出样式。当然,你可以直接修改扩展文件的底层代码,但有时那样太过困难了。还好我们有另一种方式来实现。

任何Joomla模块或组件的标准输出都可以通过在自定义模板的html路径中增加相应的文件来进行覆盖。另外有两个核心功能的样式也可以被覆盖:Module chrome与页码标注(Pagination).

从头开始

如果你是Joomla开发方面的新手,那么最容易上手的方式就是基于一个现有的输出样式去进行修改覆盖。你需要复制一份当前已有的文件,然后修改成 为自己的模板文件。你需要创建的文件路径的形式应该为:当前模板根路径/html/EXTENSION_NAME/VIEW_NAME /FILE_NAME.php
例如,你希望修改单篇文章(Article)的输出模式,那么你需要复制的文件位于:
joomla根路径/components/com_content/views/article/tmpl/default.php
将其粘贴至:
当前模板根路径/html/com_content/article/default.php (注意路径结构中的差别)
类似的,如果你希望改变登录模块(mod_login)的输出,那么需要复制:
joomla根路径/modules/mod_login/tmpl/default.php
将其粘贴至:
当前模板根路径/html/mod_login/default.php

Beez是 Joomla自带的一个前台模板,该模板通过覆盖原系统的输出来实现了无table的页面结构,使前台页面更轻快,标记语言的使用也符合语义。你可以在 Joomla根路径中的template文件夹中找到Beez模板,在里面你可以找到一个名为html的文件夹;整个路径应该是这样的:joomla根路 径/templates/Beez/html/
如果你希望修改Beez模板中的覆盖输出方式,可以复制其html路径中相关的文件夹到你自己的模板路径中。如果你想创建你自己的模板文件,你要确 保这些文件可以被正确的安装——添加以下代码到你模板的templateDetails.xml文件中(添加 在<files></files>标签当中):
<folder>html</folder>

这行代码让Joomla的安装器(installer)知道这里有一些文件需要提取,并且它们是整个模板的一部分。