Hallo Community,
vielleicht habe ich gerade ein Brett vorm Kopf und ihr könnt mir helfen es zu entfernen. 
Ich versuche einem Twig Template einige Werte zu übergeben, wenn ich es include, aber es greift nicht und ich weiß einfach nicht warum.
Aktuell übergebe ich das so:
{% sw_include ‚@Storefront/storefront/element/cms-element-image-gallery.html.twig‘ ignore missing with {
‚galleryPosition‘: ‚underneath‘
} %}
Das erwartete Ergebnis ist, das die galleryPosition auf der Produktseite unterhalb ist. So als hätte ich in der Einkaufswelt eingestellt, „unter dem Bild anzeigen“. Versucht mit und ohne ‚‘ beim Variablennamen.
In SW 6.4 hat das auch funktioniert. Shopware übergibt Variablen ebenfalls an anderen Stellen so. In meinem Fall greift es aber nicht. galleryPosition bleibt links. Das ist auch nur ein Beispiel und betrifft noch andere Variablen. Neue Variablen, die nicht im Originaltemplate gesetzt werden, werden angezeigt nur alte werden nicht überschrieben.
In dem twig Template, welchem ich die Werte übergebe, werden diese Variablen mit Werten aus den Einkaufswelten beschrieben. Aber eigentlich sollte das doch nur sein, wenn das Template keine Werte übergeben bekommt, oder nicht?
Ich hab auch die Erlebniswelt Standard Produktseite-Layout dupliziert, falls es im Shopware Original nicht greifen sollte. Ohne Erfolg.
Der Sinn der Variablen ist ja, das ich nichts im Backend einstellen muss, sondern es über das Template löse. Wodurch ich User Fehler abfangen kann. Aber ich kann beim Besten willen nichts finden wie ich diese Werte übergebe und diese auch verwendet werden.
Ist es nicht mehr möglich die Variablen zu übergeben? Muss ich jetzt „cms-element-image-gallery.html.twig“ den Block überschreiben, der die Variablen setzt? Das scheint mir doch übertrieben. Kann mir bitte jemand das Brett vom Kopf wegnehmen? 
Vielen Dank.
Gruß
Thorsten
Im 6.6 ist ja der Seitenaufbau ganz anders als im 6.4, bist Du sicher, das die Datei, in der Du das sw_include hast, auch aufgerufen wird und nicht das cms-element-image-gallery als Teil des Produkttemplates oder einer anderen Vorlage?
Danke für die Antwort.
Ich bin sicher das die Datei aufgerufen wird. Wenn ich an der selben Stelle eine noch nicht vorhandene Variable übergebe, funktioniert dies. Also funktioniert der Aufruf der Datei und die Übergabe nur nicht von Originalvariablen.
Aktuell bin füge ich das im Block „{% block block_gallery_buybox_column_left_inner %}“ in der Datei „cms-block-gallery-buybox.html.twig“ ein. Das scheint mir der richtige Ort zu sein, um das Produktbild anzupassen.
Mit der neuen Struktur hast Du natürlich recht und irgendwo könnte ich etwas übersehen.
Wenn ich den Include entferne, ist aber auch kein Bild da. Daher gehe ich davon aus, das mein Wert nur von dem set in der Originaldatei überschrieben wird. Da meine Variablen nicht genommen werden.
Also in der cms-element-image-gallery.html.twig wird der Wert so gesetzt
{% set galleryPosition = sliderConfig.galleryPosition.value %}
D.h. wenn Du galleryPosition übergibst, wird der überschrieben. Du müsstest also sliderConfig.galleryPosition.value überschreiben (was etwas schwieriger ist) oder die cms-element-image-gallery.html.twig überschreiben und diese Zuordnung ändern.
Danke für die Antwort!
Inzwischen weiß ich, warum das überschreiben der Variablen so wie ich es beschrieben habe für „cms-element-image-gallery“ nicht mehr möglich ist.
In SW 6.4 wurde das Standard Produktlayouttemplate nicht gesetzt, wenn im Backend keines ausgewählt oder es gelöscht wurde. Es wurden zwar die Standard Produktlayout Templates verwendet, aber die Einstellungen wurden nicht gesetzt.
In SW 6.6 ist das anders. Nun wird das Standardtemplate zugewiesen, wenn kein anderes ausgewählt wurde, mit all seinen Einstellungen. Daher habe ich die set Einstellungen mit ifs umklammert. Damit alles wie vorher klappt und ich nicht darauf angewiesen bin, das Einstellungen aus dem Templataufruf mitgegeben werden oder nicht.
Vielleicht hilft das ja auch jemand anderem.