web-dev-qa-db-fra.com

Comment effacer les caches de menu par programme?

Je développe un module personnalisé. Dans ce module, je souhaite supprimer les caches de menu par programmation. Pour cela, j'ai utilisé

\Drupal::cache('menu')->invalidateAll(); // for clearing the menu cache      
\Drupal::service('plugin.manager.menu.link')->rebuild(); // rebuild the menu

Mais d'une manière ou d'une autre, le cache de menu ne semble pas être effacé et l'ancien menu est toujours affiché. Comment puis-je forcer Drupal pour que mon menu mis à jour soit affiché?

4
latikas

Les menus sont affichés via des blocs. Vous devrez probablement également vider le cache de rendu de bloc.

\Drupal::cache('block')->invalidateAll();
6
CG Monroe