Joomla文档中文翻译 - 模板输出覆盖 - 怎样覆盖嵌套的布局

joomla_documentation_168前面一篇文档中,我们学习了怎样通过复制和创建自定义布局文件来实现模板覆盖;今天我们继续这个话题,来看看怎样对包含嵌套关系的布局输出进行覆盖。

Joomla组件的一些view中,我们时常看到有些文件会以相同的单词开头。文章组件(com_content)的view之一,category,就是一个典型的例子。category有两个布局方式,其中blog方式实际上由三部分组成:布局文件blog.php和两个子布局文件——blog_item.php以及blog_links.php。打开blog.php文件,在代码中我们可以找到由loadTemplate方法调用的两个子布局文件

echo $this->loadTemplate('item');
// or
echo $this->loadTemplate('links');

需要注意的是,当blog.php加载这些子布局文件时,当前的布局方式是已知的,我们不需要在loadTemplate的参数中添加文件前缀,例如前面的代码中只需要“item”,而不是“blog_item”。

忽略blog.php这样的布局文件而只对其子布局文件进行覆盖是可行的。例如,如果我们觉得Joomla原生的blog布局方式没有问题,而只想修改blog列表中每个文章项目的输出方式,那么我们可以找到下面这个文件:

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

将其复制粘贴至我们当前模板的对应路径中:

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

接下来我们就可以在这个文件中按照自己的需求来修改每个文章项目的布局方式了;系统会优先按照该文件中定义的文章项目布局方式来输出内容。

在明天的文档中,我们将开始学习模块输出覆盖的相关知识。

译者:Viiiix7210

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


收藏与分享

添加评论


Security code
换一张图