2016-07-12 16 views
1

Ich möchte einen Thema Vorschlag schreiben, die Vorlagenvorschläge hinzufügen enthält den Regionsnamen. Zum Beispiel in meiner 'header region' möchte ich eine Vorlage wie diese: menu - header.html.twig, oder in meinem 'benutzerdefinierte Region' - Menü - custom_region.html.twig.Suchen von Menü Vorlagenvorschlag nach Regionen in Drupal 8

Ich möchte, wenn ich zwei Menüs in der gleichen Region habe, möchte ich mit einer Vorlage Templating.

Ich versuchte es mit der Funktion THEMENAME_theme_suggestions_menu_alter (Array & $ Vorschläge, Array $ Variablen) {} in meiner Datei THEMENAME.theme, aber ich weiß nicht, wie ich die Region abfragen könnte, was ist. Im Block alter kenne ich die Region, also denke ich, wenn ich den Block, der das Menü enthält, aufrufen könnte, könnte ich auch die Region kennen.

Ich möchte dies in meiner .theme-Datei tun.

Gibt es eine Lösung?

+1

Ich denke, das imposibble ist. Im $ THMENAME_theme_suggestions_menu_alter (Array & $ Vorschläge, Array $ Variablen) Hook, die $ Variablen enthält nicht, wo das Menü ist. So wissen wir nicht, welcher Block es enthält oder in welcher Region das Menü erscheint. –

+2

Menüs können mehrfach gerendert werden. Zum Beispiel können Sie einen Menüblock in die Fußzeile einfügen, auf der Seite Blocklayout (Struktur >> Blocklayout), und danach können Sie den gleichen Menüblock in die Kopfzeile einfügen. Das gleiche Menü erscheint also in zwei verschiedenen Regionen, aber in theme_suggestions hook wissen wir nicht, wo das eigentliche Menü ist. –

+0

Danke für deine Antwort. Ich versuche einen anderen Weg zu finden, um das zu lösen. – Ann

Antwort

0

Ich habe versucht, das gleiche zu erreichen, aber es muss nicht Regionsname in Vorschlag sein. Es könnte eine Block-ID sein, und wenn Sie einen Block im Header-Bereich platzieren, können Sie diese Block-ID ändern.

prüfen diese Antwort: https://drupal.stackexchange.com/a/219770/32059