Comment obtenir le drapeau du langage courant dans le breadcrumb ?

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

  • [RÉGLÉ] Comment obtenir le drapeau du langage courant dans le breadcrumb ?

    J'essaye de placer le drapeau de langue courante au début du breadcrumbs.

    J'ai overrridé le fichier default.php du mod_breadcrumbs et modifié le code comme suit :

    <ul itemscope itemtype="https://schema.org/BreadcrumbList" class="breadcrumb<?php echo $moduleclass_sfx; ?>">
    <?php if ($params->get('showHere', 1)) : ?>
    <li>
    <?php $currentLanguage =& JFactory::getLanguage();
    $currentFlag = "";
    foreach($list as $language){
    if($language->lang_code == $currentLanguage->getTag()){
    $currentFlag = $language->image.'.gif';
    }
    }
    echo JHtml::_('image', 'mod_languages/'. $currentFlag, $currentLanguage->getName(), array('title'=>$currentLanguage->getName()), true) .' - ' . JText::_('MOD_BREADCRUMBS_HERE'); ?>&#160;
    </li>


    Cela marche presque, il manque juste mon drapeau

    dans Firebug cela donne ce qui suit :
    <ul class="breadcrumb" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li>
    <img src="/templates/protostar/images/mod_languages/." alt="French (fr-FR)" title="French (fr-FR)">

    - Vous êtes ici :

    </li>

    Visiblement ma variable $currentFlag est vide, mais pourquoi ?

    Quelqu'un a une idée ?

    Merci
    Pat

  • #2
    Re : Comment obtenir le drapeau du langage courant dans le breadcrumb ?

    $list ne devrait pas être un truc du genre ?

    $list = JLanguageHelper::getLanguages();
    Christophe
    http://www.webcrea.fr

    Commentaire


    • #3
      Re : Comment obtenir le drapeau du langage courant dans le breadcrumb ?

      Je me suis inspiré de ce que j'ai vu sur le net et du default.php du mod_language qui reprend à peu près le même code.

      Mais cela ne coûte pas cher d'essayer.

      Pat

      Commentaire


      • #4
        Re : Comment obtenir le drapeau du langage courant dans le breadcrumb ?

        Envoyé par Pataroller Voir le message
        Je me suis inspiré de ce que j'ai vu sur le net et du default.php du mod_language qui reprend à peu près le même code.

        Mais cela ne coûte pas cher d'essayer.

        Bon y a du mieux et du moins bien.

        Cette fois le drapeau apparait bien, mais ce sont les liens de chemin du breacrumbs entre les divider qui ont disparu.

        Voici le code dans Firebug
        <ul class="breadcrumb" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li>
        <img src="/templates/protostar/images/mod_languages/fr_fr.gif" alt="French (fr-FR)" title="French (fr-FR)">

        - Vous êtes ici :

        </li>

        <li itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem">
        <a class="pathway" itemprop="item" href="/index.php/fr/plan-du-site.html">

        <span class="divider"> / </span>

        <meta itemprop="position" content="1">


        </li>
        et le nouveau code PHP

        <li>
        <?php $currentLanguage =& JFactory::getLanguage();
        $list = JLanguageHelper::getLanguages();
        $flag = "";

        foreach($list as $language){
        if($language->lang_code == $currentLanguage->getTag()){
        $flag = $language->image.'.gif';
        }
        }
        echo JHtml::_('image', 'mod_languages/'. $flag, $currentLanguage->getName(), array('title'=>$currentLanguage->getName()), true) .' - ' . JText::_('MOD_BREADCRUMBS_HERE'); ?>&#160;
        </li>
        <?php else : ?>
        <li class="active">
        <span class="divider icon-location"></span>
        </li>
        <?php endif; ?>
        Pat

        Commentaire


        • #5
          Re : Comment obtenir le drapeau du langage courant dans le breadcrumb ?

          $list est déja crée par le module et contient la liste des liens devant apparaitre dans le fil d'ariane.
          Cette variable est utilisée plus bas dans le code.
          Donc, vu que tu changes le contenu de cette variable pour ta liste de drapeaux......
          Les liens disparaissent.

          Change $list = pour $liste = comme le code ci dessous.

          Code:
          <li>
          <?php $currentLanguage =& JFactory::getLanguage();
          $liste = JLanguageHelper::getLanguages();
          $flag = "";
          
          foreach($liste as $language){
          if($language->lang_code == $currentLanguage->getTag()){
          $flag = $language->image.'.gif';
          }
          }
          echo JHtml::_('image', 'mod_languages/'. $flag, $currentLanguage->getName(), array('title'=>$currentLanguage->getName()), true) .' - ' . JText::_('MOD_BREADCRUMBS_HERE'); ?>*
          </li>
          <?php else : ?>
          <li class="active">
          <span class="divider icon-location"></span>
          </li>
          <?php endif; ?>
          Le resultat de print_r($list) effectué avant ton code :
          Array ( [0] => stdClass Object ( [name] => Accueil [link] => /j36/index.php ) )
          Dernière édition par lefabdu51 à 15/11/2016, 19h31

          Commentaire


          • #6
            Re : Comment obtenir le drapeau du langage courant dans le breadcrumb ?

            J'avais pensé à un truc comme ça, car j'avais vu effectivement qu’immédiatement après la variable était utilisée pour afficher le trail. J'aurais dû penser à changer de nom à la variable, mais bon je ne suis pas un cador question PHP non plus. En tout cas merci pour vos conseils.
            Dernière édition par Pataroller à 16/11/2016, 07h19
            Pat

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X