Changer le dossier des fichier drapeaux pour le module de changement de langue

Réduire
Une réponse a été apportée à ce sujet.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Changer le dossier des fichier drapeaux pour le module de changement de langue

    Salut
    Je voudrais mettre les fichiers des drapeaux du module de changement de langue dans le dossier /images de Joomla. J'ai suivi les explications de infograf768 dans cette discussion mais ça ne fonctionne pas. Quand je regarde avec l'inspecteur ça pointe vers la racine du site.

    Dans ce code :

    Code:
    <?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', $language->title_native, array('title' => $language->title_native), true); ?>
    Il faut modifier le chemin :

    Code:
    'mod_languages/'
    Par :

    Code:
    'mod_languages/images/'
    Mais comme ça il ne pointe pas vers le dossier /images de Joomla, il reste dans le dossier par défaut.

    Joomla 4.4.6
    L'association Sorgin Informatique Libre fait de l'éducation populaire au numérique libre au Pays basque : www.sorgin-informatique-libre.org
  • Réponse sélectionnée par sorgin-informatique-libre, le 19/08/2024, 08h42.

    Bonjour,

    En réalité, les images sont dans le dossier "media" qui n'est pas défini dans le code cité :
    /media/mod_languages/images/es_es.gif
    Il semble donc que ce soit HTMLHelper (en J 4.4.6) ou JHtml dans le code cité plus haut qui ajoute "/media/" au code généré dans le module.
    Je ne vois donc pas comment forcer le module à aller chercher ces images dans le dossier "images".

    Et si j'ai bien compris, la norme est maintenant que les fichiers en lien avec une extension soient regroupés dans media (CSS et images ici, JS pour d'autres).

    Commentaire


    • #2
      bonjour,

      c'est normal, ton script pointe vers le dossier mod_languages/images/
      change pour images/drapeaux_langues par exemple et crée un dossier drapeaux_langues dans tes images
      aidons nous les uns les autres ...

      https://www.web54.fr

      Commentaire


      • #3
        C'est ce que j'avais fait au début (je ne l'ai pas précisé) mais ça ne fonctionnait pas. C'est pour ça que j'avais cherché une solution sur le forum et j’étais tombé sur la discussion dont j'ai mis le lien en haut. La personne avait fait pareil, mais pour elle non plus ça ne fonctionnait pas.
        L'association Sorgin Informatique Libre fait de l'éducation populaire au numérique libre au Pays basque : www.sorgin-informatique-libre.org

        Commentaire


        • #4
          Bonjour,

          En réalité, les images sont dans le dossier "media" qui n'est pas défini dans le code cité :
          /media/mod_languages/images/es_es.gif
          Il semble donc que ce soit HTMLHelper (en J 4.4.6) ou JHtml dans le code cité plus haut qui ajoute "/media/" au code généré dans le module.
          Je ne vois donc pas comment forcer le module à aller chercher ces images dans le dossier "images".

          Et si j'ai bien compris, la norme est maintenant que les fichiers en lien avec une extension soient regroupés dans media (CSS et images ici, JS pour d'autres).
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #5
            Merci pour l'info RobertG. Alors tant pis je vais mettre les images dans le dossier par défaut. Merci aussi à toi tataye
            L'association Sorgin Informatique Libre fait de l'éducation populaire au numérique libre au Pays basque : www.sorgin-informatique-libre.org

            Commentaire


            • #6
              Il y a une simple solution pour placer les images dans le dossier racine "images", ce qui n'est pas la norme.

              Le code provient du helper. Le chemin relatif ou non de l'image.
              Code:
              /**
              * Write a `<img>` element
              *
              * @param string $file The relative or absolute URL to use for the src attribute.
              * @param string $alt The alt text.
              * @param array|string $attribs Attributes to be added to the `<img>` element
              * @param boolean $relative Flag if the path to the file is relative to the /media folder (and searches in template).
              * @param integer $returnPath Defines the return value for the method:
              * -1: Returns a `<img>` tag without looking for relative files
              * 0: Returns a `<img>` tag while searching for relative files
              * 1: Returns the file path to the image while searching for relative files
              *
              * @return string|null HTML markup for the image, relative path to the image, or null if path is to be returned but image is not found
              *
              * @since 1.5
              */
              public static function image($file, $alt, $attribs = null, $relative = false, $returnPath = 0)​
              Comme dans le post original, il faut créer un custom template en copiant l'original
              On aura donc
              Code:
              montemplate/html/mod_languages/default.php
              Ensuite il faut changer toutes les occurences de
              Code:
              <?php echo HTMLHelper::_('image', 'mod_languages/' . $language->image . '.gif', $params->get('full_name') ? '' : $language->title_native, null, true); ?>
              en

              Code:
               <?php echo HTMLHelper::_('image', 'images/' . $language->image . '.gif', $language->title_native, ['title' => $language->title_native], false); ?>


              (changer .gif en ce qui est désiré si nécessaire)

              Aussi valable sur J 5
              daneel et RobertG aiment ceci.
              Jean-Marie Simonet / infograf768
              Joomla co-fondateur.
              Sauf demande explicite de ma part, merci de ne pas utiliser de Message Privé pour poser des questions. Le forum est là pour ça.

              Commentaire


              • #7
                Envoyé par infograf768 Voir le message
                Il y a une simple solution pour placer les images dans le dossier racine "images", ce qui n'est pas la norme.​
                Pourquoi c'est pas la norme ?

                Envoyé par infograf768 Voir le message
                Le code provient du helper. Le chemin relatif ou non de l'image.​
                C'est quoi le helper ??

                Envoyé par infograf768 Voir le message
                Comme dans le post original, il faut créer un custom template en copiant l'original​
                J'ai un template enfant dans lequel j'ai fait la substitution du module langues.
                L'association Sorgin Informatique Libre fait de l'éducation populaire au numérique libre au Pays basque : www.sorgin-informatique-libre.org

                Commentaire


                • #8
                  "Pourquoi c'est pas la norme ?"
                  Il s'agit ici, d'après votre demande, de remplacer le ou les drapeaux .gif par défaut par d'autres de votre conception.
                  Vous n'avez sans doute pas besoin de les modifier ou de les utiliser pour d'autres tâches. Créez un nouveau dossier media/mod_languages/mesimages/​ et y télécharger vos drapeaux. Modifiez le chemin dans le fichier default.php. Cela vous évitera de possible erreurs de manip quand vous insérerez/effacerez des images à partir du dossier images.
                  Code. Attention : le booléen false est essentiel

                  Code:
                  <?php echo HTMLHelper::_('image', 'media/mod_languages/mesimages/' . $language->image . '.gif', $params->get('full_name') ? '' : $language->title_native, null, false); ?>
                  C'est quoi le helper ??
                  C'est le fichier HTMLHelper présent dans la librairie dont une des fonctions (citée dans mon post) permet d'insérer des images.
                  Il est appelé en tête du template de mod_languages default.php par le code
                  Cliquez sur l'image pour l'afficher en taille normale

Nom : Screenshot 2024-08-20 at 08.05.46.png 
Affichages : 51 
Taille : 84,4 Ko 
ID : 2063857

                  Son chemin est libraries/src/HTML/HTMLHelper​.php

                  Cliquez sur l'image pour l'afficher en taille normale

Nom : Screenshot 2024-08-20 at 08.21.34.png 
Affichages : 44 
Taille : 69,0 Ko 
ID : 2063858
                  Jean-Marie Simonet / infograf768
                  Joomla co-fondateur.
                  Sauf demande explicite de ma part, merci de ne pas utiliser de Message Privé pour poser des questions. Le forum est là pour ça.

                  Commentaire


                  • #9
                    bonjour, pour info:
                    dans le dossier /media/images sont les images associées à un template ou une extension

                    dans le dossier /images, les images uploadées par les utilisateurs et qui concernent des articles ou autres éléments de contenu.
                    Ce ne sont pas les memes sources ni utilisations.
                    La distinction est faite pour que chacun s y retrouves.

                    Commentaire


                    • #10
                      Merci infograf768, merci lefabdu51pour tous ces éclaircissements.
                      L'association Sorgin Informatique Libre fait de l'éducation populaire au numérique libre au Pays basque : www.sorgin-informatique-libre.org

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X