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é?
Les menus sont affichés via des blocs. Vous devrez probablement également vider le cache de rendu de bloc.
\Drupal::cache('block')->invalidateAll();