Catégories:
Bonjour,
Dans le champs «chemin» d’élément de mon menu j’ai une URL (http://unsite.com) que je souhaiterais ouvrir dans un nouvelle fenêtre.
Existe-il un astuce pour celà.
Merci
Jérôme
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Pourquoi pas un peu de JavaScript non-obtrusif ?
window.onload = function() {document.getElementById('ton-lien').setAttribute('target', '_blank');
}
Bon, jte dis ça parce que je suis dans une phase JavaScript en ce moment, mais tu pourrais aussi utiliser la fonction _phptemplate_variables() dans template.php, parcourir tes liens de menu dans la variable $vars[‘primary_links’], et ajouter l’attribut target=»_blank» sur le lien approprié.
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
Ou la meme avec jQuery ;)
$(document).ready(function(){$("#ton-lien").attr("target", "_blank");
});
tostinni
1268
J’ai opté pour le javascript, ça marche bien.
J’ai tout de même dû modifier dans le fichier menu.inc la fonction menu_item_link($mid, $theme = TRUE) afin d’ajouter l’id du lien basé sur la dercription.
'attributes' => !empty($item['description']) ? array('id' => $item['description']) : array()
J’ai enfin inséré le javascript dans le fichier page.tpl.php
window.onload = function() {
document.getElementById(‘ton-lien’).setAttribute(‘target’, ‘_blank’) ;
…
}
En tout cas merci
j’essaierais le jquery
a+
Jérôme
jayjay1977
71
Hum… Perso je pense que c pas une bonne soluce que de modifier menu.inc…
C’est sur que c pas facile vu que les menus de drupal n’ont pas d’id par defaut (si je ne me trompe pas) ceci dit, meme sans id tu peux t’y retrouver avec jQuery :
Supposons que ton menu pointe vers le node/10 tu peux utiliser le jQuery suivant :
$(document).ready(function(){$('p a[href*=node/10]').attr("target", "_blank");
});
Chui pas sur a 100% de ma syntaxe, mais ca vaut la peine de tester et de pas hacker le core…
http://docs.jquery.com/Tutorials:How_to_Get_Anything_You_Want
tostinni
1268
Je vais essayer comme tu indiques, je ne connais pas du tout jquery, ça a l’air bien puissant.
a+
Jérôme
jayjay1977
71
Ca marche super bien,
j’ai trouvé ce qu’il me fallait ici.
Puis j’ai téléchargé le dernier jquery.
Merci de ton aide
Jérôme
jayjay1977
71