0

我制作了一个 Joomla 2.5 模板。你可以看看这个网站:www.ranfar.com。

查看侧边栏的代码。到目前为止,我有类似的东西:

<div id="sidebar">
    <!-- Here starts the first widget -->
    <h3>Widget title</h3>
    <ul>......... <!-- Module content --> ..........</ul>
    <!-- Here starts the second module -->
    <p>.... <!-- Second module content --> .........</p>
</div>

如您所见,我没有为每个小部件设置单独的框。我想要以下内容:

<div id="sidebar">
    <!-- Here starts the first module -->
    <div class="sidebar-module-box">
         <h3>Module title</h3>
         <ul>......... <!-- Module content --> ..........</ul>
    </div>
    <!-- Here starts the second module -->
    <div class="sidebar-module-box">
         <p>.... <!-- Second module content --> .........</p>
    </div>
</div>

通过这种方式,我可以为模块框设置类的样式。我如何实现这样的模板?我必须在哪里添加它?这是我在 index.php 中生成侧边栏的代码:

<?php if($this->countModules('ranfar-rightsidebar')) : ?>
    <div id="right-sidebar" class="float-right">
        <jdoc:include type="modules" name="ranfar-rightsidebar" style="sidebar" />
    </div> 
<?php endif; ?>
4

2 回答 2

2

我找到了解决方案。

我必须打开文件/templates/THEME/html/modules.phpTHEME我的主题名称在哪里。有如下功能:

function modChrome_sidebar($module, &$params, &$attribs)
{
    if (!empty ($module->content)) : ?>
        <?php if ($module->showtitle) : ?>
            <h3><?php echo $module->title; ?></h3>
        <?php endif; ?>
        <?php echo $module->content; ?>
    <?php endif;
}

我不得不改变它如下:

function modChrome_sidebar($module, &$params, &$attribs)
{
    if (!empty ($module->content)) : ?>
        <div class="module-box">
        <?php if ($module->showtitle) : ?>
            <h3><?php echo $module->title; ?></h3>
        <?php endif; ?>
        <?php echo $module->content; ?>
        </div>
    <?php endif;
}

现在每个模块都包含在一个带有“模块盒”类的 div 中。

于 2012-09-04T17:29:11.490 回答
0

在 Joomla 中,它们被称为模块(而不是小部件)。在您的 XML 文件中,您需要添加模块位置,如下所示:

<positions>
    <position>login</position>
    <position>search</position>
    <position>sidebar1</position>       
    <position>sidebar2</position>
    <position>etc...</position>
</positions>

在您的模板中,然后使用上面的代码添加每个模块位置:

<jdoc:include type="modules" name="sidebar1" style="xhtml" />

无论你在哪里,Joomla 都会在它的位置显示模块(下一段)。关于“样式”的快速说明 - 您可以根据您的标记需求制作自定义样式或使用 Joomla 已有的样式之一

然后,在模块管理器中,创建一个新模块并选择您希望它出现的位置。

于 2012-09-04T13:23:58.577 回答