1

我已经搜索到互联网的尽头,找不到答案,而我有限的 php 知识使这个看似简单的任务变得非常困难。

该文件是第 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'; ?>">

如果li 是我当前正在查看的页面,我只需在类区域中添加一个“活动” ,以便使用 CSS 突出显示它。

4

3 回答 3

1

您应该能够检查标准的 joomla 路由变量来进行一些检查。我不经常使用 K2,因此您可能必须使用这些值才能使其在您的情况下起作用:

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

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

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

于 2013-02-11T21:58:57.933 回答
1

大卫的回答是正确的,您需要检查选项、视图和 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'; ?>">

希望这会有所帮助。

于 2013-02-12T07:05:39.180 回答
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":""; ?>">
于 2013-02-12T19:39:28.790 回答