leider finde ich hier im Forum keine entsprechende Antwort. Ich versuche in einem Freitextfeld eines Produktes ein anderes Freitextfeld auszugeben. Hintergrund ist, dass ich x Freitextfelder habe, die ich zur Filterung und Sortierung nutze. In einem weiteren Freitextfeld möchte ich nun all diese Freitextfelder ausgeben lassen.
Ich befülle also mein Freitextfeld mit dem Namen “attr11” mit z.B. diesem Inhalt:
Die Ausgabe soll einfach im Template erfolgen. In der Detail.tpl z.B. Dort möchte ich jedoch attr11 ausgeben und eben nicht attr1,2 und 3. Es hat verschiedene Gründe, vor allem aber wegen einer Plugin-Kompatibilität.
leider funktioniert dies nicht. Ich trage nun in Freitextfeld 11 {eval $sArticle.attr1} {eval $sArticle.attr2} ein, jedoch wird dies genau so wieder im Frontend ausgegeben.
Nein, das muss im Template stehen, nicht im Backend (denn irgendwo im Template muss Du ja attr1 ausgeben). Aber nochmal: damit machst Du ein Sicherheitsloch in deinem Shop.
„Shopware“ jagt Textfragmente ja auch gesondert durch den Smarty-Parser. Auch wenn es mit val wohl geht, versuch es doch auch mal dieser Variante:
{include file=„string:$sArticle.attr1“} {include file=„string:$sArticle.attr2“}
detail.tpl nicht „eval“ sondern:
{include file=„string:$sArticle.attr3“}
„string“ jagt $sArticle.attr3 durch den smarty-Parser. Dieser legt im Template-cache dann eine Datei mit dem endgültigen Inhalt ab - der Dateiname ist ein Hash aus dem Inhalt vom Text. Der Dateiname wird auch an das include zurückgegeben und die Datei dann includet. Sofern also $sArticle.attr1 und $sArticle.attr2 existieren, sollten sie eingefügt werden… sollten