it-swarm.com.de

Block in / user / * Seite anzeigen, nicht / user / * / edit

In der Administration Drupal 8) habe ich einen Block (Block, der aus einem benutzerdefinierten Modul erstellt wurde) für die Anzeige auf den Seiten/user/* konfiguriert.

(enter image description here

Es klappt; Ich sehe diesen Block in den Seiten/user/* und/user/*/edit. Jetzt möchte ich meinen Block nur von/user/* Seiten (dem Ansichtsmodus) anzeigen, nicht von/user/*/Seiten bearbeiten (dem Bearbeitungsmodus).

Kann ich das auf der Seite Drupal Administration) tun? Ich habe es getestet und "!/User/*/edit" hinzugefügt, aber dies hat keine Auswirkung.

(enter image description here

Wenn ich nicht kann, wie kann ich das von meinem benutzerdefinierten Modul aus tun?

6
matthieu lopez

Wenn Sie dieses Modul verwenden, schließt das Ausrufezeichen-Präfix Pfade aus: https://www.drupal.org/project/block_exclude_pages

7
John

Für Drupal 8 installieren Sie das Route Condition Module und verwenden Sie das entity.user.canonical Bedingung.

1
Chris Snyder

Für drupal 7 Benutzer können Sie das Modul Context verwenden und einfach eine Seite zum Pfad/user/* und ~/user/*/edit/hinzufügen, um die Bearbeitungsseite auszuschließen.

0
Lardi

Wenn es sich um Ihr eigenes benutzerdefiniertes Block-Plugin handelt, kann Ihre Build-Funktion auf Knotenbearbeitungsseiten null zurückgeben.

0
oknate

Es gibt ein Modul namens Routenbedingung , mit dem Sie genaue Routen (Seiten) angeben können, auf denen Blöcke angezeigt werden sollen. Für die Benutzerprofilseite wäre die Route also user.entity.canonical (das ist eigentlich das Beispiel auf der Modulseite.

0
acrosman