2013-02-11 3 views
1

J'ai cherché à la fin de l'Internet et je ne trouve pas de réponse à cela et ma connaissance limitée de php rend cette tâche apparemment facile très difficile.Ajouter la classe 'active' au module de contenu K2 Article

Le fichier est modules/mod_k2_content/templates/default/default.php autour de la ligne 22

Voici le code:

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

Je dois simplement ajouter un 'actif' à la zone de classe IF la li est la page que je visualise actuellement afin de la mettre en évidence avec CSS.

+0

Nous pourrions probablement vous aider plus si nous savions ce que d'autres variables sont disponibles et ce qu'ils contiennent, par exemple Encore un peu de code ... – Craig

+0

Editez votre question et mettez le code dedans, pour que nous puissions le lire ... – Craig

Répondre

1

Vous devriez être en mesure de vérifier les variables de routage joomla standard pour faire quelques vérifications. Je ne vous ne pouvez pas utiliser beaucoup K2, doivent donc jouer avec les valeurs pour obtenir ce travail dans votre cas:

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

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

Je voudrais ensuite comparer ces valeurs aux éléments du lien qui sont susceptibles dans le code directement après le code que vous avez inclus. Si tous les trois correspondent, vous êtes sur cette page!

+0

David, merci pour votre réponse, mais j'imagine que j'aurais peut-être dû dire que j'avais une connaissance PHP TRÈS limitée à la place de juste un peu limité ... :( Je comprends en quelque sorte ce que vous dites, mais pas au point où j'ai la capacité de le faire fonctionner, j'espère qu'il y a quelqu'un ici qui est familier avec ce module K2. – schug2102

1

La réponse de David est correcte, vous devez vérifier pour l'option, afficher et id et que d'ajouter la classe à li est ici reste du code -

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

Espérons que cela aidera.

1

Voici le code correct:

<?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":""; ?>"> 
Questions connexes