Depuis l'administration Drupal 8, j'ai configuré un bloc (bloc créé à partir d'un module personnalisé) pour l'afficher dans les pages/user/*.
Ça marche; Je vois ce bloc dans les pages/user/* et/user/*/edit. Maintenant, je veux afficher mon bloc uniquement à partir des pages/user/* (le mode d'affichage), pas des pages/user/*/edit (le mode d'édition).
Puis-je le faire à partir de la page d'administration Drupal? Je l'ai testé en ajoutant "!/User/*/edit" mais cela n'a aucun effet.
Si je ne peux pas, comment puis-je le faire à partir de mon module personnalisé?
Si vous utilisez ce module, le préfixe d'exclamation fonctionnerait pour exclure les chemins: https://www.drupal.org/project/block_exclude_pages
Pour Drupal 8 installez le Route Condition Module et utilisez le entity.user.canonical
état.
Pour drupal 7 utilisateurs, vous pouvez utiliser le module Context et ajouter simplement la page au chemin/user/* et ~/user/*/edit/pour exclure la page d'édition.
S'il s'agit de votre propre plugin de bloc personnalisé, vous pouvez demander à votre fonction de génération de retourner null sur les pages de modification des nœuds.
Il existe un module appelé Route Condition qui vous permet de spécifier les routes exactes (pages) sur lesquelles afficher les blocs. Ainsi, pour la page de profil utilisateur, l'itinéraire serait user.entity.canonical
(qui est en fait l'exemple sur la page du module.