Abfragen im Template mit Twig

hallo zusammen,

gibt es irgendwo eine Referenz bzw. Beispiele welche Abfragen in einem Twig Template möglich sind?

Ich bräuchte z.B folgendes:

  • Ein Twig Template/Block laden nur auf eine bestimmte Seite
  • Eine CSS Klasse nur für ein bestimmtes Layout einfügen
  • Eine CSS Klasse nur wenn ein bestimmtes Block Typ geladen wird

Danke und Gruß

Das ist das gleiche wie mit dem alten Smarty und hat nichts/nur bedingt mit dem neuen Twig Template zu tun.

  • if “controllerName” ->  block laden
  • Dem Layout kannst du  eine CSS-Klasse mitgeben, alternativ wieder im Twig abfragen
  • im Twig einen Wrapper/CSS-Klasse hinzufügen

Danke für deine Antwort.

Meine Frage war, was ich abfragen kann. Das hat denke ich mit Shopware zu tun. Wie frage ich z.B ab, welche Kategorie/Seite geladen wird?

Wo kann einem Layout eine CSS Klasse zuweisen? Im Backend geht das nicht.

Das habe ich nicht verstanden: " im Twig einen Wrapper/CSS-Klasse hinzufügen "

Hilft dir das weiter: https://7synth.com/dokumentation/shopware-6-theme-twig

Danke, das hilft mir weiter. Gibt es so was wie eine Debug Ausgabe im Frontend um zu sehen welche Twig Variable zu Verfügung stehen bzw. wie die Variable belegt sind? Wie finde ich heraus wie alle controllerName heißen?

Der erste Punkt von dem Link den ich dir geschickt habe: heisst: " Shopware Variablen ausgeben" und darunter der Befehl: {{ dump }} 

1 „Gefällt mir“

sorry, ich glaube ist einfach zu spät … danke

@brettvormkopp‍

ich versuche mit

{{ dump }}

die Variable auszugeben, wird aber nichts ausgegeben. Ich habe

bin/console theme:compile

und

bin/console cache:clear

ausgeführt. Muss ich noch was anderes beachten? danke

Da hat sich wohl jemand verschireben. es ist {{ dump() }} mit klammern

Smile danke

He he, das steht im Handbuch:

https://twig.symfony.com/doc/2.x/functions/dump.html

 

Guten Morgen,

{{ dump() }} funktioniert auch nicht (ea1.2). Bringt eine weiße Seite. Muss ich sonst was beachten?

also ich habe bei mir in der Datei  “.env” einen geänderten Eintrag. Anstatt " APP_ENV=prod" hab ich " APP_ENV=dev". Vll hat das was damit zu tun? Ausserdem habe ich immer den Cache gelöscht.

1 „Gefällt mir“

danke, die Änderung in der .env Datei hat geholfen.

ich brauche aus den Variablen den Kategorie/Seiten Name und finde den nicht. Die sind immer gleich:

 "controllerName" =\> "Navigation" "controllerAction" =\> "index"

“cms Page” gibt den Layout Namen aus und nicht die Kategorie

 

eine Idee?

 {% page.header.navigation.active.name %}

super, danke