如何将活动类添加到 Joomla K2 内容模块

Posted

技术标签:

【中文标题】如何将活动类添加到 Joomla K2 内容模块【英文标题】:How to add an active class to a Joomla K2 content module 【发布时间】:2012-07-27 19:16:14 【问题描述】:

我正在尝试将一个类添加到 Joomla K2 内容模块中的活动 <li> 以创建一个动态创建的菜单。到目前为止,我得到了:

<li class="<?php if ($item->id == $active_id) echo 'active';?> hello">

我在那里打了个招呼,以检查模板覆盖是否正常工作,是的。

我显然不懂 php,我认为这对于了解 Joomla K2 和 php 的人来说是一个简单的问题? ;)

【问题讨论】:

【参考方案1】:

我遇到了同样的问题并想出了这个解决方案(Joomla 3.0.3 & K2 2.6.5)

    <li class="<?php

    $active_sub = substr(($app->input->getCmd('task', '')), 0, 3);

    if ($item->id == $active_sub) echo 'active';
                                                   ?>" >

'task'在主index.php中定义,返回子菜单itemid和菜单项名称,使用substr获取K2模块中$item->id对应的前3个字符。此解决方案将一直有效,直到您在模块中获得超过 999 个菜单项。

我也不是 PHP 专家,但这很适合我的模板。

【讨论】:

非常好,感谢 Erik,非常感谢您的解决方案。我还没有尝试过,但会假设它有效。如果我找到其他方法,我会告诉你。再次感谢:)【参考方案2】:

上面的代码在 Joomla 3.4.1 和 K2 2.6.8 中对我不起作用。这是一个适用于任何版本(J1.5/J2.5/3.0 和任何版本的 K2)的解决方案。

<li class="<?php        
        $active_sub = intval(JRequest::getCmd('id'));

        if ($item->id == $active_sub) echo 'active';
        ?>">

【讨论】:

以上是关于如何将活动类添加到 Joomla K2 内容模块的主要内容,如果未能解决你的问题,请参考以下文章

按类别内的标签过滤文章 - Joomla 和 K2

自动将记录插入到 Joomla 的 K2 模块中的表注释中

如何在 Joomla k2 item.php 中包含新模块

Joomla K2 通过将页码添加到分页来更改分页标题

Joomla 2.5 仅在 K2 类别上显示模块而不在 K2 项目上

如何将项目从 K2 转移到 Joomla 文章或 wordpress ?啥是最明智的选择?