当前位置: 首页 > 图文教程 > 专题中心 > joomla教程和joomla模板制作教程 > Joomla入门教程 > Joomla教程:模板覆盖方式修改系统输出

Joomla入门教程
Joomla教程:在Joomla 1.5中使用SEF网址
Joomla教程:重置用户密码的3种方法
Joomla教程:使用图片和CSS实现翻转效果菜单
Joomla教程:保持Blog视图中的文章标题链接
Joomla教程:一套模板实现多种布局模式
Joomla教程:去掉分类文章列表中的文章序号
Joomla教程:禁止未分类文章被站内搜索
Joomla教程:网站首页第一次加载时播放一次Flash动画
Joomla中文教程:创建并使用插件对文章内容进行修改
Joomla教程:查看并修改模板的CSS
Joomla教程:为“read more”链接添加对应的文章标题
Joomla教程:为页面和模块添加独立的自定义Class
Joomla教程:在templateDetails.xml中添加语言文件声明
Joomla中文教程:构建多重站点
Joomla教程:在Who is online模块中显示用户名
Joomla教程:本地搭建的Joomla站点发送邮件
在Joomla自定义HTML模块组合使用Google小工具
Joomla教程:mod-rewrite是否真的被开启
Joomla教程:控制Section中的分类列表页面的显示方式
Joomla教程:文章页面中显示指定的模块

Joomla入门教程 中的 Joomla教程:模板覆盖方式修改系统输出


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-07   浏览: 394 ::
收藏到网摘: n/a

有时你希望能修改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)知道这里有一些文件需要提取,并且它们是整个模板的一部分。

深入了解

模板覆盖方法的使用几乎是无局限的,它允许你添加、编辑和删除Joomla核心组件输出的内容。注意:Firefox浏览器中有一个著名的插件叫做Firebug;我们可以通过Firebug来查看页面的HTML代码,进而方便的通过与模板中的PHP代码进行对比。这里有一段免费的视频来教你如何将Firebug与Joomla结合使用。