web-dev-qa-db-fra.com

Afficher le bloc dans la page / user / *, pas / user / * / edit

Depuis l'administration Drupal 8, j'ai configuré un bloc (bloc créé à partir d'un module personnalisé) pour l'afficher dans les pages/user/*.

enter image description here

Ç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.

enter image description here

Si je ne peux pas, comment puis-je le faire à partir de mon module personnalisé?

6
matthieu lopez

Si vous utilisez ce module, le préfixe d'exclamation fonctionnerait pour exclure les chemins: https://www.drupal.org/project/block_exclude_pages

7
John

Pour Drupal 8 installez le Route Condition Module et utilisez le entity.user.canonical état.

1
Chris Snyder

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.

0
Lardi

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.

0
oknate

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.

0
acrosman