Testumgebung: Shopware 6 EA2
Aus einem mir unbekannten Grund werden die Standard-Block Elemente nicht mit eigenen Inhalten überschrieben / erweitert.
Getestetes Beispiel:
https://docs.shopware.com/en/shopware-platform-dev-en/how-to/extending-storefront-block?category=shopware-platform-dev-en/how-to
Vorgehensweise:
Theme-Plugin erstellt via theme:create
theme hin und hergewechselt, kompiliert
cache:clear durchgeführt
Das oben erwähnte Beispiel für das Überschreiben / Erweitern eines Blocks 1:1 übernommen
geänderte logo.html.twig Datei ins Verzeichnis:
sw6root/custom/plugins/myPlugin/src/Resources/views/storefront/layout/header
debug:twig zeigt, dass der Pfad
/custom/plugins/myPlugin/src/Resources/views/
geladen wird.
Logo wird dennoch nicht überschrieben.
Habe auch versucht, ein Footer Element zu überschreiben / erweitern. Kein Erfolg.
(Eigenes CSS, das im Verzeichnis /custom/plugins/myPlugin/src/Resources/storefront/style hinterlegt wird, funktioniert jedoch.)
Laut den Update Notes , gab es eine Änderung bei der Pfad-Angabe für sw_extends:
https://docs.shopware.com/en/shopware-platform-dev-en/getting-started/recent-updates#2019-11-14-refactored-resources-directories
Before:
{% sw_extends '@Storefront/base.html.twig' %}
After:
{% sw_extends '@Storefront/storefront/base.html.twig' %}
(ist diese Änderung bereits in EA2 enthalten? habe beide Varianten getestet)
Habe wohl etwas Elementares übersehen / falsch verstanden.
Hat mir jemand einen Tipp?
Ist das Theme auch aktiviert?
EDIT:
mein twig dateien liegen in THEME > src > Resources > views > layout > header > top-bar.html.twig
meine css dateien liegen in THEME > src > Resources > storefront > style > base.css
EDIT 2: Scheint für die 6.1 dann neu zu sein, dass die twigs auch in den storefront-ordner kommen.
1 „Gefällt mir“
ich musste ja das Theme-Plugin erst aktivieren, dann konnte ich es über theme:change auch auswählen.
Dabei wird es ja auch kompiliert.
Das Theme Verzeichnis in
vendor > shopware > storefront ??
ich dachte das wäre das Standard-Verzeichnis, das man nicht verändern sollte
Update: also wenn ich vendor > shopware > storefront > Resources > views > layout
direkt bearbeite, werden die Änderungen natürlich angezeigt,
aber das ist ja nicht die ideale Lösung. Ich denke, ich warte mal 6.1 ab und sehe was passiert, aber falls hier in der Zwischenzeit noch jemand eine Idee hat, bin ich dankbar.
Ok habe es gelöst. In den Dokus / Howtos wird ja (wie oben erwähnt) ein zusätzliches storefront Verzeichnis angegeben
{% sw_extends '@Storefront/storefront/layout/header/logo.html.twig' %}
Bei meiner Shopware Installation gibt es das aber (noch) nicht.
Evtl. kommt das mit der neuen Shopware Version, aber das sollte dann in den Dokus stehen
@Storefront geht ja direkt auf views - dort befinden sich dann aber schon layout > header
Entsprechend habe ich die Datei im Plugin-Verzeichnis jetzt auch nicht mehr in
sw6root/custom/plugins/myPlugin/src/Resources/views/storefront/layout/header
sondern
sw6root/custom/plugins/myPlugin/src/Resources/views/layout/header