Ajouter un attribut rel noopener à un type de lien menu URL

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

  • [RÉGLÉ] Ajouter un attribut rel noopener à un type de lien menu URL

    Bonjour,
    Je cherche à attribue l'attribut rel noopener à un menu de type de lien de menu URL.
    Dans l'onglet du menu "Type de liens", j'ai sélectionné noopener à l'option "Attribut 'rel' du lien ", mais j'ai l'impression que ce n'est pas prit en compte.

    Merci pour vos lumières.

  • #2
    Bonjour,

    Il suffit de créer un lien de menu externe de type URL et de sélectionner "Nouvelle fenêtre avec barre de navigation".

    Les attributs rel noreferrer et noopener sont automatiquement ajoutés dès que l'on utilise target="_blank" pour des raisons de sécurité.

    Cela fonctionne avec protostar, le template natif de Joomla cependant pour d'autres templates, ce n'est pas toujours le cas....

    C'est un oubli pour le menu d'helix ultimate par exemple, il faut donc modifier légèrement le code du plugin (son framework).

    Editer le fichier menu.php situé dans le plugin d'helix :
    plugins\system\helixultimate\core\classes\menu.php

    Remplacer la ligne 522 :

    Code PHP:

    $output 
    .= '<a '$class .' href="'$flink .'" target="_blank" '$title .'>'$linktitle .'</a>'
    par :

    Code PHP:

    $attributes
    ['rel'] = 'noopener noreferrer';

    if (
    $item->params->get('menu-anchor_rel''') == 'nofollow') { $attributes['rel'] .= ' nofollow'; }

    $output .= '<a '$class .' href="'$flink .'" rel="'$attributes['rel'] .'" target="_blank" '$title .'>'$linktitle .'</a>'target="_blank" '. $title .'>'. $linktitle .'</a>'; 
    De cette façon, on applique systématiquement les attributsrel nécessairesaux liens externes mais on laisse également en option la possibilité d'ajouter un nofollow
    pour éviter les liens externes négatifs. N'oubliez pas de vider le cache pour voir le résultat.

    C'est vrai que l'on ne pense pas forcément à créer des liens externes dans les menus et il n'y a aucun problème dans l'édition sous tinymce (natif) et jce.
    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

    Commentaire


    • #3
      Bonjour Yann et merci de ton aide souvent très précieuse
      Si je crée un lien de menu externe de type URL, je crée une Iframe et donc cela m'affiche le contenu du lien sur une de mes pages.
      Hors, je souhaite que ce lien redirige directement sur un autre site.

      Commentaire


      • #4
        Bonjour,

        Yann te l'a dit : lien de type URL et dans une nouvelle fenêtre avec navigation correspond à ton besoin, ce n'est pas un affichage en iframe.
        "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
          C'est déjà un menu de type "lien de menu URL" et dans une nouvelle fenêtre de navigation.
          J'ai mal interprété ce que m'as dis Yann. 3h de sommeil ça ne trompe pas

          Commentaire


          • #6
            Envoyé par nano Voir le message
            Bonjour Yann et merci de ton aide souvent très précieuse
            Si je crée un lien de menu externe de type URL, je crée une Iframe et donc cela m'affiche le contenu du lien sur une de mes pages.
            Hors, je souhaite que ce lien redirige directement sur un autre site.
            Hello,

            Sauf erreur, cela fonctionne si tu ne confonds pas le type de lien :

            "Fenêtre intégrée (Iframe) > contenu externe" avec "liens divers > URL" situé un peu plus bas dans le menu...



            oui, sans doute le manque de sommeil

            Dernière édition par daneel à 30/03/2020, 09h29
            Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

            Commentaire


            • #7
              C'est bien ça, j'utilise bien Lien divers > URL

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

Nom : Capture d’écran 2020-03-30 à 11.12.14.png 
Affichages : 60 
Taille : 98,6 Ko 
ID : 2015068
              Et lorsque que j'analyse le site, j'ai ça :

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

Nom : Capture d’écran 2020-03-30 à 11.12.37.png 
Affichages : 47 
Taille : 17,4 Ko 
ID : 2015070
              Fichiers joints

              Commentaire


              • #8
                Merci pour le retour,

                oui j'ai compris le problème avec ta capture d'écran...

                Apparemment, c'est l'extension maximenu car le module ne prends pas en compte les paramètres rel du lien de menu, il n'impose pas non plus les attributs noopener et noreferrer aux liens externes. Je viens de tester avec la version "light" et j'obtiens bien l'erreur.

                C'est effectivement une faille de sécurité que Cédric a complétement zappé, y compris sur ses liens pub qu'il a inséré en dur dans le backend.
                Il faut voir rapidement avec son support.

                Pour info, j'avais déjà annoncé le problème et donné le lien vers l'excellent article de dareboost en 2017...
                Vous avez créé ou hacké un composant/module/plugin/template et souhaitez le faire savoir, c'est ici !







                Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                Commentaire


                • #9
                  Ah, je me disais bien que j'était pas fou non plus !
                  Je vais me rapprocher du support maximenuCK.

                  Aucun moyen de détourner le problème ?

                  Commentaire


                  • #10
                    oui tu créé une surcharge du module et tu modifie le modele pour les liens externes.

                    Pour créer la surcharge, c'est dans menu extensions > templates > templates, tu choisis "détails et fichier" de ton template.
                    Tu selectionne l'onglet "Créer des substitutions" puis le module "mod_maximenuck"

                    2. Tu edite le fichier _itemtype.php dans \templates\nomdetontemplate\html\mod_maximenuck pour ajouter le code

                    Tu peux fonctionner de cette façon en attendant un correctif qui force l'insertion et reprend également les autres attributs comme le nofollow.
                    Une fois que la mise à jour de l'extension sera disponible, il suffira de supprimer le repertoire maximenu dans le dossier html de ton template

                    Dernière édition par daneel à 30/03/2020, 18h36
                    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                    Commentaire


                    • #11
                      Merci Yann,
                      Vu que je suis une quiche en php, je vais éviter de faire des bêtises.

                      J'ai copié le code que tu m'avais indiqué au début du post, mais ça a crée une erreur...

                      Commentaire


                      • #12
                        Envoyé par nano Voir le message
                        J'ai copié le code que tu m'avais indiqué au début du post, mais ça a crée une erreur...
                        Non le code au début, c'etait pour helix et non pour maximenu.
                        Et je t'ai donné la solution adaptée et détaillée en messagerie privée.
                        Sinon attends la réponse du dev ou change d'extension.

                        Bon courage, bonne soirée et prends soin de toi.

                        Yann


                        Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                        Commentaire


                        • #13
                          Un grand merci à toi Yann
                          Prends soin de toi et de ton entourage.

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X