Drupal 8 - Créer un Alias d'URL dans le code

Posté le Jeudi 23 juin 2016 - 19:16
Dernière mise à jour le Vendredi 26 janvier 2018 - 18:35

Tester si un alias existe pour un chemin système :

On récupère le service alias manager
$alias_manager = \Drupal::service('path.alias_manager');

$chemin_systeme = "/node/5"
$alias = $alias_manager->getAliasByPath($chemin_systeme);

Note, si un alias n'existe pas pour le chemin système alors la méthode nous retournera le chemin système, sinon elle nous retournera l'alias.

Créer un alias :

On récupère le service alias storage cette fois
$alias_storage = \Drupal::service('path.alias_storage');

$chemin_systeme = "/node/5"
$alias_voulu = "/mon-super-chemin.html"
$alias_storage->save($chemin_systeme, $alias_voulu);

Plus d'informations sur drupal.org : https://www.drupal.org/node/1853148

 

Commentaires

Florian_drupal

Posté le Mardi 27 mars 2018 - 15:35

Merci pour cet article,
Je me posais la question suivante, est-il possible de générer un alias d'URL avec des paramètres du style :
/recherche-ref?dossier=867 qui donnerait /recherche-ref/[node:title] ?

Ajouter un commentaire

Ne sera pas publié

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...