Joomla文档中文翻译 - 模板输出覆盖 - 模块结构(module chrome)

joomla_documentation_168前面一篇文档中,我们学习了怎样对Joomla原生模块的布局进行输出覆盖;今天我们来看看模块结构(module chrome)的自定义方法。其实呢,在09年11月的几篇介绍Joomla模块的文档教程中,我们就已经比较详细的了解了有关模块结构以及相关自定义的知识;现在作为“模板输出覆盖”内容体系的一部分,我们不妨再复习一遍相关知识,并且学习一个新的代码范例。

首先,可以回顾一下从前的相关文档;这些文档很详细的介绍了模块结构的概念、原生模块结构类型以及自定义方法。

我们可以通过创建或修改模板的modules.php文件来自定义模块结构及风格。与组件模块的状况相同,该文件位于模板路径的html文件夹中。我们可以参照rhuk_milkyway模板提供的modules.php文件,来看看它定义的一些模块结构。在下面的路径中找到该文件:

Joomla根路径/templates/rhuk_milkyway/html/modules.php

如果你在使用rhuk_milkyway模板那么可以直接向这个文件中添加代码来创建自定义模块结构。例如,我们希望创建一种以定义列表(<dl><dt><dd>)的形式来输出内容的模块结构。我们可以向modules.php文件中添加如下代码:

/*
 * Module chrome that wraps the module in a definition list
 */
function modChrome_dlist($module, &$params, &$attribs)
{ ?>
        <dl class="<?php echo $params->get('moduleclass_sfx'); ?>">
        <?php if ($module->showtitle != 0) : ?>
                <dt>
                        <?php echo $module->title; ?>
                </dt>
        <?php endif; ?>
                <dd>
                        <?php echo $module->content; ?>
                </dd>
        </dl>
        <?php
}

我们将这个自定义模块结构命名为dlist,相应的,函数名就是modChrome_dlist。该函数有3个参数,关于它们的详情可以参见“Joomla文档中文翻译 - 怎样在模板中自定义模块结构(module chrome)”。

译者:Viiiix7210

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


收藏与分享

添加评论


Security code
换一张图