Shopware Icon in Twig aus Plugin-Variable holen

@mit3233‍

h‍ab das mal probiert und muss sagen: “Mööööp” geht nicht. Alle “sw_…” Funktionen erwarten als Value immer einen String. Siehst du, wenn du in der IDE deines Vertrauens mal nach “{% sw_” sucht. Beispiel sw_extends, sw_inlude, sw_thumbnail usw.

Diese “sw_…” Twig Tags werden direkt durch den Twig-Parser gesendet und ausgewertet (nach parameter, wie z.B. den style {‘size’:‘x’}. usw. Eine Rekursivität, ob bereits eine Twigvariable übergeben wird, die wiederum geparst und aufgelöst werden muss ist da nicht implementiert. Das meiste passiert in den tiefen von symfony twig parser. Hab mich da gerade mal durch debugged.

However, wenn du das in deinem eigenen Template brauchst, kannst du natürlich einfach das machen was intern auch passiert. 

 {% sw_icon 'bookmark' %}

ersetzen durch 

{% sw_include "@Storefront/storefront/utilities/icon.html.twig" with { 'name': 'bookmark', 'size': 'xl'} %}

bzw. der Variablen von deiner Config (habs mal abgekürzt damit es in eine Zeile geht)

{% set meineConfigVariable = shopware.config.MyPlugin.config.MyPluginIcon %}
{% sw_include "@Storefront/storefront/utilities/icon.html.twig" with { 'name': meineConfigVariable, 'size': 'xl'} %}

Die “size” musst natürlich nicht angeben, wollte nur aufzeigen, wie man die “styles” definiert.

Insgesamt hast 

 name, size, color, rotation, flip, class

zur Verfügung.

Schau dir einfach mal die Datei  storefront/utilities/icon.html.twig an.

Hoffe das Hilft dir weiter.

Gruß

daMardl

6 „Gefällt mir“