Hallo zusammen,
ich suche nach einer Möglichkeit ein eigenes Layout für Sektionen anzulegen.
Ich hätte gerne die Sidebar auf der rechten Seite und nicht wie im standard links.
Die benötigten Dateien hierfür liegen ja unter "storefront > section > ", aber wie bekomme ich das ganze im backend angezeigt?
Bin für jeden Hinweis dankbar.
Hallo,
hier gibt es ein Beispiel wie man ein CMS-Block bzw. CMS-Element erstellt, etwas zu einer Sektion habe ich bisher noch nicht gesehen:
Vielleicht lässt sich das aber auch mit einem Zusatzfeld (Checkbox) „Sidebar rechts anzeigen“ bei den Landingpages bzw. Kategorien und Änderungen am Template anpassen. Das würde zwar nicht die Darstellung im Backend ändern, aber wäre wahrscheinlich einfacher als eine eigene Sektion anzulegen.
Also in der \views\storefront\section\cms-section-sidebar.html.twig
abfragen, ob das Zusatzfeld gesetzt ist und dann die Blöcke section_sidebar_content
und section_main_content
tauschen.
Viele Grüße
Tom
1 „Gefällt mir“
Sehr cooles Beispiel für den CMS Block, das hilft auf jeden Fall.
Die Idee mit dem workaround ist auch recht cool, gibt es irgendwie eine generelle abfrage für die Artikel-Detailseite? Ich möchte die Sidebar auf der Artikelseite grundsätzlich rechts haben. So in die Richtung von {% if page.product %} ? Dann müsste man nicht extra ein Häkchen in jedem Produkt setzen.
Moin,
ja, so geht es natürlich auch, dann sparst du dir den Umweg über die Checkbox. Kannst du ja mal ausprobieren und dann berichten, wie du es final gelöst hast.
Weißt du, wie du die Template-Dateien aus dem Parent Theme in deinem eigenen Child-Theme anpassen kannst?
Viele Grüße
Tom
Ja!
Habe jetzt folgendes gemacht:
- In meinem eigenen Theme unter „storefront/section/“ die Datei „cms-section-sidebar.html.twig“ mit folgendem Inhalt angelegt:
{% sw_extends '@Storefront/storefront/section/cms-section-sidebar.html.twig' %}
{% block page_content_section_sidebar %}
{% if page.product %}
{% sw_include '@Storefront/storefront/section/cms-section-sidebar2.html.twig' %}
{% else %}
{{ parent() }}
{% endif %}
{% endblock %}
- In meinem eigenen Theme ebenfalls unter „storefront/section/“ die Datei „cms-section-sidebar2.html.twig“ angelegt.
Diese Datei hat quasi den gleichen Inhalt wie die originale „cms-section-sidebar.html.twig“, nur dass ich die Reihenfolge der Blöcke section_sidebar_content
und section_main_content
getauscht habe. Sicher nicht die sauberste Lösung, aber größtenteils update sicher und für mich funktionierts!
Falls jemand noch Vorschläge zur Verbesserung hat, gerne posten!
Vielen Dank für deine Hilfe, Tom!