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
            1 sur 2 < >

            C'est [Réglé] et on n'en parle plus ?

            A quoi ça sert ?
            La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

            Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

            Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
            Comment ajouter la mention [Réglé] à votre discussion ?
            1 - Aller sur votre discussion et éditer votre premier message :


            2 - Cliquer sur la liste déroulante Préfixe.

            3 - Choisir le préfixe [Réglé].


            4 - Et voilà… votre discussion est désormais identifiée comme réglée.

            2 sur 2 < >

            Assistance au forum - Outil de publication d'infos de votre site

            Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

            Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

            Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

            UTILISER À VOS PROPRES RISQUES :
            L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

            Problèmes connus :
            FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

            Installation :

            1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

            Archive zip : https://github.com/AFUJ/FPA/zipball/master

            2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

            3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

            4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

            5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

            6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
            et remplacer www. votresite .com par votre nom de domaine


            Exemples:
            Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
            Télécharger le script fpa-fr.php dans: /public_html/
            Pour executer le script: http://www..com/fpa-fr.php

            Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
            Télécharger le script fpa-fr.php dans: /public_html/cms/
            Pour executer le script: http://www..com/cms/fpa-fr.php

            En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

            Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
            Voir plus
            Voir moins

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X