Drupal 8 - Modifier les onglets (local tasks)

Posté le Vendredi 15 mai 2020 - 14:26

Voici comment modifier un onglet Local Task dans le langage drupal, en utilisant le hook HOOK_local_tasks_alter:

function MONMODULE_local_tasks_alter(&$local_tasks) {
  $local_tasks['entity.user.edit_form']['title'] = 'Modifier mes informations';
}

La clé est définie dans la déclaration de l'élément :

Image
Drupal local task

 

Ici uniquement le titre est changé,il est possible de modifier les autres propriété, comme l'ordre (weight), la destination de l'élément...

Aller plus loin ?

Commentaires

bonjour,
Merci pour ce post, mais j'ai beau tester tous les codes possibles et imaginables trouvés sur le net mais rien n'y fait, mes onglets ne changent pas de titre… d'autant que c'est exactement cet onglet dan l'exmeple que je souhaite modifier… j'utilise juste MonTheme_preprocess à la place de MONMODULE… Une idée à me soumettre ?

Pareil pour moi, quoi que je fasse, aucun résultat !

Pour ma part j'ai créé un module qui active la traduction :

dans le dossier modules, création du dossier "local_tasks_rename" puis ajout de 2 ces 2 fichiers :
local_tasks_rename.info.yml :

name: Local Tasks Rename
description: Rename local tasks titles.
package: Custom

type: module
core: 8.x
core_version_requirement: ^8 || ^9

local_tasks_rename.module :

<?php


function local_tasks_rename_local_tasks_alter(&$local_tasks) {
  $local_tasks['entity.user.canonical']['title'] = t('My account');

  $local_tasks['entity.user.edit_form']['title'] = t('Edit my account');
  $local_tasks['entity.user.edit_form']['weight'] = -2;
}

Les titres sont désormais accessible dans la traduction de l'interface

 

$local_tasks['entity.user.edit_form']['weight'] = -2;

cette ligne permet de changer la position de l'onglet dans le menu

Ajouter un commentaire

Ne sera pas publié

CAPTCHA Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...