Joomla文档中文翻译 - 模板输出覆盖 - 复制与创建布局文件

joomla_documentation_168前面一篇文档中,我们学习了Joomla模板中的布局(layout)的相关知识,以及布局与view的区别和联系;今天我们来学习怎样通过复制和创建自定义布局文件来实现模板覆盖

要进行模板布局覆盖,我们需要在当前使用的模板的html文件夹中进行操作。例如joomla根路径/templates/rhuk_milkyway/html/,或joomla根路径/templates/ja_purity/html/。

需要注意的是,我们为某一套模板进行的自定义覆盖是不会在另外一套模板中生效的。例如rhuk_milkyway模板本身没有任何的组件布局覆盖(其html文件夹中没有组件路径),所以当我们使用该模板时,页面输出都是Joomla原生的组件输出方式;而当我们使用Beez模板时,几乎所有的Joomla原生组件输出都已经被覆盖过了。

用来覆盖Joomla原生组件输出的布局文件必须被放在特定的路径中我们使用Beez模板做示例,来看看它的文件结构:

/templates
/beez
/html
/com_content (文章组件的路径)
/articles (文章组件的一个view——“articles”的路径)
default.php (“articles”的默认布局文件)
form.php

我们可以看到,Beez模板的结构很清晰,也很易于进行编辑覆盖;而在rhuk_milkyway模板的html路径中没有任何现成的组件路径,所以如果我们要对文章的默认布局文件进行覆盖的话,首先需要找到下面这个文件:

Joomla根路径/components/com_content/views/article/tmpl/default.php

将它复制粘帖到下面的路径:

Joomla根路径/templates/rhuk_milkyway/html/com_content/article/default.php

其中/com_content/article/这个路径是需要我们来创建的。

如果我们希望对com_content中的category的blog布局模式进行覆盖,那么首先要找到下面这个文件:

Joomla根路径/components/com_content/views/category/tmpl/blog.php

将它复制粘帖到下面的路径:

Joomla根路径/templates/rhuk_milkyway/html/com_content/category/blog.php

然后,我们就可以在这些复制过来的新文件中进行自定义编辑了,它们会覆盖掉Joomla原生的组件输出,以我们自定义的方式来进行输出。

在下一篇文档中,我们将学习怎样对包含嵌套关系的布局输出进行覆盖。

译者:Viiiix7210

如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看官方英文文档: Understanding Output Overrides


收藏与分享

评论刷新

2011-04-14 20:55
:lol: 终于找到了哈哈!不用修改组件了 ,哎,话说不懂英文就是惨,幸好 有大神翻译!谢谢!
2011-04-15 10:10
用的到就好

添加评论


Security code
换一张图