Classes Bootstrap dans liens des menus

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • #16
    Re : Classes Bootstrap dans liens des menus

    Bonjour fynhooft,

    Il faut trouver le moyen de donner l'information sur l'icône (icon-xxxxx) à associer à chaque lien. Le plus simple est de détourner et réutiliser une information existant déjà comme par exemple ici le paramètre "Style CSS du lien" si on ne s'en sert pas.
    L'override des deux fichiers default_component.php et default_url.php devient :

    1) Remplacer la ligne :
    Code:
    $class = $item->anchor_css ? 'class="'.$item->anchor_css.'" ' : '';
    par les deux lignes :
    Code:
    $class = '';
    $span = $item->anchor_css ? '<span class="'.$item->anchor_css.'"></span>&nbsp;' : '';
    2) Puis modifier la ligne :
    Code:
    else { $linktype = $item->title;
    en :
    Code:
    else { $linktype = [COLOR=#ff0000]$span.[/COLOR]$item->title;
    Testé avec Protostar (chaque template a ses astuces et ses overrides) et donc avec la police IcoMoon qui est dans JUI et qui est différente de Glyphicon de Bootstrap.

    Pour associer l'icône au lien il suffit de mettre l'icône (icon-xxxxx) dans dans le paramètre Style CSS du lien.

    Amicalement,
    Rajoz
    Dernière édition par Rajoz à 29/08/2013, 19h42

    Commentaire


    • #17
      Re : Classes Bootstrap dans liens des menus

      C'est parfait : cela fonctionne comme je le souhaitais.
      Voici donc un résumé de tout ce qu'il faut faire pour ceux que cela intéresse.


      Contenu du fichier \templates\nom-de-votre-template\html\mod_menu\default_url.php
      Code:
      <?php
      /**
       * @package     Joomla.Site
       * @subpackage  mod_menu
       *
       * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
       * @license     GNU General Public License version 2 or later; see LICENSE.txt
       */
      
      defined('_JEXEC') or die;
      
      // Note. It is important to remove spaces between elements.
      //$class = $item->anchor_css ? 'class="'.$item->anchor_css.'" ' : '';
      $class = '';
      $span = $item->anchor_css ? '<span class="'.$item->anchor_css.'"></span>&nbsp;' : '';
      
      $title = $item->anchor_title ? 'title="'.$item->anchor_title.'" ' : '';
      if ($item->menu_image)
      	{
      		$item->params->get('menu_text', 1) ?
      		$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" /><span class="image-title">'.$item->title.'</span> ' :
      		$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" />';
      }
      //else { $linktype = $item->title;
      else { $linktype = $span.$item->title;
      }
      $flink = $item->flink;
      $flink = JFilterOutput::ampReplace(htmlspecialchars($flink));
      
      switch ($item->browserNav) :
      	default:
      	case 0:
      ?><a <?php echo $class; ?>href="<span><?php echo $flink; ?></span>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
      		break;
      	case 1:
      		// _blank
      ?><a <?php echo $class; ?>href="<span><?php echo $flink; ?></span>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
      		break;
      	case 2:
      		// window.open
      		$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$params->get('window_open');
      			?><a <?php echo $class; ?>href="<span><?php echo $flink; ?></span>" onclick="window.open(this.href,'targetWindow','<?php echo $options;?>');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
      		break;
      endswitch;


      Contenu du fichier \templates\nom-de-votre-template\html\mod_menu\default_component.php
      Code:
      <?php
      /**
       * @package     Joomla.Site
       * @subpackage  mod_menu
       *
       * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
       * @license     GNU General Public License version 2 or later; see LICENSE.txt
       */
      
      defined('_JEXEC') or die;
      
      // Note. It is important to remove spaces between elements.
      //$class = $item->anchor_css ? 'class="'.$item->anchor_css.'" ' : '';
      
      $class = '';
      $span = $item->anchor_css ? '<span class="'.$item->anchor_css.'"></span>&nbsp;' : '';
      
      $title = $item->anchor_title ? 'title="'.$item->anchor_title.'" ' : '';
      if ($item->menu_image)
      	{
      		$item->params->get('menu_text', 1) ?
      		$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" /><span class="image-title">'.$item->title.'</span> ' :
      		$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" />';
      }
      //else { $linktype = $item->title;
      else { $linktype = $span.$item->title;
      }
      
      switch ($item->browserNav) :
      	default:
      	case 0:
      ?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><span><?php echo $linktype; ?></span></a><?php
      		break;
      	case 1:
      		// _blank
      ?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" target="_blank" <?php echo $title; ?>><span><?php echo $linktype; ?></span></a><?php
      		break;
      	case 2:
      	// window.open
      ?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" onclick="window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');return false;" <?php echo $title; ?>><span><?php echo $linktype; ?></span></a>
      <?php
      		break;
      endswitch;


      Dans le lien de votre menu, vous allez dans "Paramètres avancés" puis "Paramètres du type de liens".
      Dans le champ "Style CSS du lien" vous mettez le nom de la classe souhaitée (exemple : icon-comment icon-white)

      Merci encore à tous les participants.
      GIMPons.net : http://www.GIMPons.net = plus de 1000 tutoriels sur GIMP , plus d'un millier d'images pour expliquer les filtres de GIMP.
      Le terrier de Fynhooft : http://patrick.gauwin.free.fr
      Le CSE d'Hazebrouck : http://www.csehazebrouck.fr

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X