@mit3233
hab 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