将“活动”类添加到K2内容模块项

时间:2013-02-11 16:33:14

标签: joomla joomla-k2

我已经搜索到了互联网的末尾,但找不到答案,而我有限的PHP知识使得这个看似简单的任务非常困难。

该文件是LINE 22附近的modules / mod_k2_content / templates / default / default.php

以下是代码:

<li id="" class="<?php echo ($key%2) ? "odd" : "even";  if(count($items)==$key+1) echo ' lastItem'; ?>">

我只需要添加一个“活跃的”字样。到类区域 IF li是我当前正在查看的页面,以便用CSS突出显示它。

3 个答案:

答案 0 :(得分:1)

您应该能够检查标准的joomla路由变量来进行一些检查。我不太多使用K2,所以你可能必须使用这些值才能使你的工作在你的情况下:

$jinput = JFactory::getApplication()->input;

$option = $jinput->get('option');
$view = $jinput->get('view');
$id = $jinput->get('id');

然后,我会将这些值与链接中的项目进行比较,这些项目可能是在您包含的代码之后直接在代码中。如果所有三个都匹配,那么你就在那个页面上!

答案 1 :(得分:1)

David的回答是正确的,您需要检查选项,视图和ID,而不是将类添加到li这里是其余的代码 -

<?php
    $jinput = JFactory::getApplication()->input;
    $option = $jinput->get('option');
    $view = $jinput->get('view');
    $id = $jinput->getInt('id'); ?>
    <?php foreach ($items as $key=>$item):  
        $liclass = '';
        if(($option=='com_k2') && ($view=='item') && ($id==$item->id)){
            $liclass = 'active ';
        });
        ?>
        <li class="<?php echo $liclass?><?php echo ($key%2) ? "odd" : "even"; if(count($items)==$key+1) echo ' lastItem'; ?>">

希望这会有所帮助。

答案 2 :(得分:1)

这是正确的代码:

<?php $id = JRequest::getVar('id'); ?>
<li class="<?php echo ($key%2) ? "odd" : "even"; if(count($items)==$key+1) echo ' lastItem'; echo ($id == $item->id)?" active":""; ?>">