为Joomla的模块创建覆盖并定制模块布局

下面我们以Joomla 3默认的模板protostar为例,讲述如何为Joomla的模块创建覆盖并定制布局

Joomla模块创建覆盖

模块创建覆盖的方法一般有两种,一种是在后台设置,一种是通过FTP完成。

  1. 后台设置:进入Joomla后台,进入[扩展管理] - [模板管理];此时右边菜单栏显示[风格管理]和[模板管理],再点击[模板管理]后,显示已安装的模板列表,点击[编辑 Protostar 模板]就可以对此模板进行编辑;进入编辑页面,再点击选项页中的[创建替代(Override)文件](这翻译有点拗口)就可以看到右边的模块列表,需要为哪个模块做覆盖,点击一下就可以。
  2. FTP操作:假如你需要做Joomla的搜索模块的覆盖,首先复制目录modules/mod_search/tmpl并重命名为mod_search,把此目录复制到templates/protostar/html就可以完成覆盖。

Joomla模块定制布局

上面我们已经讲述了如何创建覆盖,创建覆盖后,我们就可以定制布局了。下面还是以protostar模板并且定制搜索模块为例子。

复制文件templates/protostar/html/mod_search/default.php,并重命名为joomlafox.php(名称随意)。

这样你就可以通过修改templates/protostar/html/mod_search/joomlafox.php文件来定制你的搜索模块布局

当然你创建了布局,还需要应用它才行。当你在后台的模块管理创建你的搜索模块,那就需要进入该模块编辑页面 - 高级选项 - 选择显示样式 - joomlafox(选择你定制的布局文件名称);

上面提到需要先创建覆盖再进行定制布局,是因为不同模板需要的布局、样式都不一样,这样会更加规范合理;但实际中,你不做覆盖一样可以定制模块的布局,以搜索模块为例,你复制了modules/mod_search/tmpl/default.php并重命名为modules/mod_search/tmpl/joomlafox.php,和上面的效果是一样的。如果某一模块不支持“覆盖”,就可以这样做布局定制。