Blöcke ohne Inhalt ausblenden

Hallo,

im Storefront werden mir die Container von Beispielsweise Breadcrumbs oder Filter angezeigt, obwohl diese leer sind (weil bspw. keine Filter aktiviert). Dadurch nehmen diese Platz ein (durch CSS Margin/Padding etc.) und sorgen so für nervige Lücken im Layout.

Gibt es einen Weg, die Container/div nur anzeigen zu lassen, wenn entsprechende Elemente vorhanden sind? Kann man das irgendwie bspw. im Template/Twig prüfen? Ich hätte gerne eine dynamische Lösung, welche sich am Inhalt orientiert, ohne dass ich prüfen muss auf welcher Seite man sich gerade befindet, und demnach Elemente ein/ausgeblendet werden müssen.

Vielen Dank vorab.

Im twig per if abfragen, ob der Inhalt, der ausgegeben werden würde == „“ ist. Falls ja, dann kannst du ja ein style=„display: none“ in das tag setzen.

Danke für die Antwort. Sowas war genau mein Gedanke, nur weiß ich nicht was ich prüfen muss. Alles was ich versucht habe hat nicht funktioniert: zum Beispiel habe ich in Twig getestet ob ich abfragen kann, ob ein Block (z.B. element_product_listing_pagination_nav_actions) gesetzt/leer ist. So kenne ich das von anderen CMS, wo man abfragen kann, ob Module Inhalt liefern oder nicht.

Blöcke sind Platzhalter, mehr nicht. Du kannst da nichts abfragen (meinem Wissen nach).

Du kannst nur Variablen abfragen, die entweder Inhalt liefern oder eben den Block „leer“ lassen.

Ich würde dir empfehlen deinen Shop mal in den dev Modus zu versetzen und anschließend

{{ dump() }}

in einen Block deiner Twig Datei einzufügen.
Damit kannst du im Frontend die verfügbaren Variablen auslesen und deine if Abfrage entsprechend entwickeln.