2013-02-11 37 views
1

我已经搜索到互联网的末尾,无法找到答案,我的有限的PHP知识使这个看似简单的任务非常困难。向K2内容模块添加“活动”类项目

的文件是模块/ mod_k2_content /模板/默认/如default.php各地LINE 22

下面是代码:

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

我只需要添加一个 '主动' 对类区域IF li是我目前正在查看的页面,以便用CSS突出显示它。

+0

我们或许可以帮助你更多,如果我们知道其他变量可用,它们包含的内容,例如一些更多的代码... – Craig 2013-02-11 20:48:02

+0

编辑你的问题,并把代码放在那,所以我们可以阅读它... – Craig 2013-02-12 02:36:54

回答

1

你应该能够检查标准的joomla路由变量来做一些检查。我不使用K2多,所以你可能有与价值观发挥你的情况得到这个工作:

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

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

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

+0

大卫,感谢您的答案,但我想也许我应该说我有很多PHP的知识,而不是只有有限的大声笑... :( 我有点得到你在说什么,但没有到有能力使它工作的地步。希望这里有人熟悉这个K2模块。 – schug2102 2013-02-12 01:01:04

1

大卫的答案是正确的,你需要检查选项,查看和ID,比类添加到李这里是代码的其余部分 -

<?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'; ?>"> 

希望这会有所帮助。

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":""; ?>"> 
相关问题