Surcharger la fonction l()

Information importante

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.

Bonjour,

J'ai une question toute simple: peut on surcharger la fonction l() (ou url()) pour pouvoir la modifier a partir du template.php (et donc eviter tout problème lors d'une eventuelle maj)?

Merci.

Forum : 
Version de Drupal : 

En fait, j'ai utilisé le module path redirect pour certaines redirections.

Donc certains de mes liens pointes vers des node/X qui sont redirigés grâce à ce module soit vers vers des sites externes, soit vers d'autres contenus interne à mon site.

Mais voila, il faut maintenant que toutes ces redirections externes s'ouvrent dans une nouvelle fenêtre.

Donc j'ai crée une fonction qui récupère toutes les redirections externes faite avec path redirect et les met dans un tableau, et je pensais faire un test dans la fonction l() et checké si le paramètre d'entrée existe dans ce tableau, et si c'est le cas, je rajouter l'attribut blank.

Bon, bah merci pour l'info en tout cas :)

Peut être en javascript ? un coup de jquery pour rajouter un attribut "blank" sur les liens que tu repères en php ça doit être possible.
(edit : pour répondre à la question je connais pas non plus de fonction d'override d'url() ou l )

Ce n'est pas possible de passer par le js, car le contenu afficher pointera toujours vers un node/X (et c'est ce node/X qui est une redirection, et donc le process de redirection se fait en php après que le lien ait été cliqué).

C'est un peu compliqué, mais ce mécanisme n'a montré ces failles qu'au moment où la décision de rajouter des _blank a été prise (vers la fin du projet), sinon, il est clair que j'aurai procéder autrement.

Bon, bah je crois que je vais changer directement la fonction l().

Merci pour vos conseils avisés.