We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10375
    • 11 Posts
    Bonjour,
    Je découvre MODx et ses nombreuses possibilités grin
    Je viens de terminer un site pour le tester mais je voudrais qu’un lien du menu s’ouvre directement dans une autre fenêtre (target="_blank") et je ne trouve pas la solution undecided
    Je précise que je n’ai pas beaucoup d’expérience en PHP.
    Merci à ceux qui voudront m’aider smiley
      • 11975
      • 2,542 Posts
      salut,

      à ma connaissance il n’y a pas de solution toute faite. Il faudra en passer par un hack de dropmenu
      le mieux d’après moi est de rajouter l’attribut "rel" à la la balise <a> et de combiner le tout avec du javascript (target étant déprécié du moins selon le doctype utilisé).
      On trouve facilement des js pour l’ouverture d’une nouvelle fenetre.
      Pour signifier à quel éléments du menu tu veux associer ce comportement tu peux créer une TV.

      Pas sur d’être très clair mais un peu pressé, je pars en week end.


      :-)

      EDIT:

      Tu pourrais par exemple faire comme suit

      Crée une TV (text) nommé destination et associe là aux templates de ton site

      dans la boucle autour de la ligne 230
            //loop through and process subchildren
            foreach ($children as $child) {
      


      ajoute

      		//hack add extraText
      $destination = $modx->getTemplateVar('destination',$fields='*',$child['id']);
              (($destination) && ($destination['value'] !='' ))? $target = $destination['value'].' ' : $target = '';
      


      puis dans la construction du lien

      <a href="[~'.$child['id'].'~]" title="'.$child[$titleOfLinks].'">


      ajoute dans les lignes construisant les balises <a> $destination

      <a href="[~'.$child['id'].'~]" title="'.$child[$titleOfLinks].'" $destination>



      De cette facon dans les documents que tu souhaites appeler dans une nouvelle fenetre tu donnes comme valeur à
      la TV destination target="_blank"
      Cette chaine sera ajouté à la balise <a> lorsque TV destination est !=’’

      C’est pas tres beau mais ca devrait le faire
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 6726
        • 7,075 Posts
        Il ne serait pas bien compliqué de hacker DropMenu pour que les liens soit en target_blank mais alors ils seraient tous comme ça... pour différencier, ce serait une autre paire de manche...

          .: COO - Commerce Guys - Community Driven Innovation :.


          MODx est l&#39;outil id
          • 11975
          • 2,542 Posts
          Un dernier truc et je pars pour de bon

          SURTOUT duplique le snippet dropMenu avant de faire les modifs, tu le renommes comme tu veux et tu appelles le nouveau dans ton template.
            Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
            • 6726
            • 7,075 Posts
            Merci Heliotrope, ça c’est du rapide grin
              .: COO - Commerce Guys - Community Driven Innovation :.


              MODx est l&#39;outil id
              • 10375
              • 11 Posts
              Houla, ça commence fort pour moi qui débute avec MODx!
              Merci pour cette réponse rapide.
              Je vais d’abord essayer de comprendre ... puis tester wink
                • 10375
                • 11 Posts
                Bien, j’ai procédé à quelques tests pour faire connaissance avec MODx.
                En modifiant le "DropMenu" de cette façon, tous les répertoires et liens s’ouvrent dans une autre fenêtre:
                <a href="[~'.$child['id'].'~]" title="'.$child[$titleOfLinks].'" target="_blank">

                mais, ce n’est évidemment pas mon but!

                Donc, j’essaie d’appliquer les conseils d’heliotrope mais je bute sur des termes et des notions que je ne maîtrise pas malgré mes recherches huh

                Est-ce que quelqu’un aurait la patience de m’indiquer pas à pas la façon de créer une TV et de l’associer à un template.
                Et de terminer avec:
                "De cette facon dans les documents que tu souhaites appeler dans une nouvelle fenetre tu donnes comme valeur à la TV destination target="_blank" "

                Merci encore smiley
                  • 6726
                  • 7,075 Posts
                  Gadget, ne t’embête pas avec ça... Nous sommes en train de finaliser le remplaçant de DropMenu qui rendra TRES simple ce que tu souhaites faire grin

                  Si tu peux attendre quelques jours, tu économisera de l’energie et du temps smiley
                    .: COO - Commerce Guys - Community Driven Innovation :.


                    MODx est l&#39;outil id
                    • 10375
                    • 11 Posts
                    Super grin
                    J’attendrai donc quelques jours et bravo pour votre travail wink
                      • 11975
                      • 2,542 Posts
                      Re,

                      pour compléter et répondre à ta question même si ce n’est plus utile voici comment associer une TV à une template.
                      Dans gestions des ressources, onglet "variables de modeles" > nouveau

                      Tu nommes ta TV, selectionne "texte" puis en bas de page tu as sous forme de case à cocher les templates disponibles. Il te suffit de cocher parmi la liste celles pour lesquelles tu souhaites pouvoir appeler la TV.

                      Une fois cela fait, la valeur que tu assignes à ta TV dans les documents sera accessible avec le code que j’ai donné dans mon post.

                      :-)

                      @davidm: je suis pressé de voir la nouvelle mouture de dropmenu, en souhaitant qu’elle soit aussi flexible que ditto dans l’accès au TV.

                        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l