Submitted by jayjay1977 on
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
En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".
Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact
De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.
Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".
Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.
Submitted by jayjay1977 on
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
Pourquoi pas un peu de
Permalien Soumis par drupalfrance le 13 Septembre, 2007 - 22:25
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é.
Ou la meme avec jQuery
Permalien Soumis par tostinni le 14 Septembre, 2007 - 00:58
Ou la meme avec jQuery ;)
$(document).ready(function(){
$("#ton-lien").attr("target", "_blank");
});
J'ai opté pour le
Permalien Soumis par jayjay1977 le 14 Septembre, 2007 - 12:05
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
Hum... Perso je pense que c
Permalien Soumis par tostinni le 14 Septembre, 2007 - 16:17
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
Je vais essayer comme tu
Permalien Soumis par jayjay1977 le 17 Septembre, 2007 - 09:53
Je vais essayer comme tu indiques, je ne connais pas du tout jquery, ça a l'air bien puissant.
a+
Jérôme
Ca marche super bien, j'ai
Permalien Soumis par jayjay1977 le 17 Septembre, 2007 - 13:57
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