syntaxe pour récuperer l'URL du site

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 à toutes et à tous,

Voilà j'avais une petite question... je voulais savoir quelle syntaxe je peu utiliser
pour récupérer l'url principale d'un site Drupal, et si je peu l'utiliser dans un block de contenu.

Je vais faire un menu perso en HTML, et je n'ai pas envie de tout refaire mes liens lors du passage "local --> distant" ,

merci pour votre aide !

MICKAEL

Forum : 
Version de Drupal : 

Si tu veux l'url en absolue (c'est à dire avec http://.../ devant) de la racine du site :

<?php
 
echo url('', array('absolute'=>TRUE))
?>

Le premier paramètre (chaîne vide) demande la racine. Pour la version relative, tu enlèves le second paramètre. La même syntaxe est utilisable avec la fonction l() qui génère une balise a/href en prenant un première paramètre supplémentaire :

<?php
 
echo url('mon lien', '', array('absolute'=>TRUE));
?>

Enfin ça marche pour n'importe quel autre chemin que la racine du site :

<?php
 
echo url("mon contenu de titre '{$node->title}'", "node/{$node->nid}", array('absolute'=>TRUE));
?>

Note l'absence de / au début du chemin passé à url() ou l().

Super ! Merci Yoran !!

Par contre j'aimerai inclure ce code dans mes blocks de type HTML,
évidement çà ne fonctionne pas avec ma configu' basic, le PHP est traité
en t'en que chaine de caractère...

Comment faire pour que le PHP soit pris en compte ??
J'utilise CK Editor...

merci encore !!

Vu que l'on est dans la section développement, je ne saurais trop te conseiller pour cela de ne pas passer par un bloc créé via l'interface de Drupal mais plutôt de créer un module maison et d'y implémenter les hooks_block_info et hook_block_view. Si tu as ne serait-ce que des bribes de notions en PHP cela devrait se faire sans gros soucis. Et là tu auras toute la latitude pour créer des blocs propres et dynamiques.

Même si la création de module est une chose simple sous Drupal, une approche un cran moins complexe encore est de créer des blocs vides, et de mettre leur contenu dans un template dans ton thème qui aura comme nom "block--block--XXX.tpl.php" où XXX est l'identifiant du bloc. Tu trouves cet identifiant lorsque tu édites le bloc (ex. admin/structure/block/manage/block/20/configure => identifiant = 20). En faisant cela tu peux mettre tous le contenu dans le template avec du code PHP pour le dynamiser.

Enfin dernière possibilité que je ne conseille pas, c'est d'activer le module "PHP filter" qui va ajouter un nouveau format d'entrée "php" te permettant de saisir du code PHp directement via l'interface de modification de blocs. A utiliser avec beaucoup de prudence et uniquement pour des usages très ponctuels. En effet, ce code sera très difficile à debugger, à maintenir et aura de mauvaise performances.

dernière possibilité que je ne conseille pas, c’est d’activer le module «PHP filter»

A d'accord alors je me suis jeté sur ce qu'il ne faut pas faire... :)
de toute façon ce n'est pas compatible avec CK Editor ...

Je m'en va créer un bloc...

merci pour ton aide Yoran et à bientôt,

PS : si tu connais en réécriture d'URL, peut tu jeter un œil à ce ce post qui n'inspire guère...

Bah rassure-toi, tu as fait comme tout le monde au début (moi le premier).

Mais c'est clair que si tu souhaites capitaliser le temps que tu investis aujourd'hui dans Drupal, et que tu souhaites poursuivre avec ce CMS, apprendre à créer des modules te donnera une liberté plus qu'appréciable.