ich suche mir jetzt seit 2 Tagen den Wolf… Ich hoffe ihr könnt mir den entscheidenen Tipp geben.
Ich habe einen Vagrantserver aufgesetzt mache gerade die ersten Entwicklungsversuche eines neuen Themes.
Ich würde gerne neue/andere Icons (SVG-Dateien) einsetzen, als die bereits vorhandenen.
Die icon.html.twig - Datei enthält einen Pfad auf die Icon-SVGs. Diese werden an direkt in den Quellcode geschrieben.
Sieht im Original so aus:
{{ source(’@Storefront/…/dist/assets/icon/’~ pack ~’/’~ name ~’.svg’, ignore_missing = true) }}
Jetzt habe ich mir gedacht, so naiv wie ich bin, in den Pfad einfach meine neuen SVGs zu legen bzw. den Pfad in meinem Theme anzupassen und einen neuen Ordner machen.
Egal was ich mache, funktioniert nicht. Ich komme ehrlich gesagt nicht einmal darauf, wo die SVGs auf meinem Server liegen, die verwendet werden
Die Dateien liegen hier ab:
Sowohl in der kompilierten theme-Datei:
/home/vagrant/shopware-dev/public/theme/484c0fee1058491d557aa683794b15bc/assets/icon
als auch im storefront-Ordner:
/home/vagrant/shopware-dev/public/bundles/storefront/assets/icon
als auch in meinem-theme-Ordner:
/home/vagrant/shopware-dev/public/bundles/MEINTHEMENAME/assets/icon
Egal wo ich die Icons überschreibe (habe es mit hartem Überschreiben auf dem Server versucht) werden die alten Icons angezeigt.
Hat jemand einen Tipp für mich, wo oder wie ich den Austausch hinbekomme?
Vielen Dank schonmal
Karina
Kann sein das es irgendwie mit der Vererbung noch nicht ganz hinhaut.
Eine Themeanpassung, bzw. generell Anpassungen sollten mMn. als Plugin gelöst werden.
Das findet alles unter /custom/plugins/DeinPlugin statt.
welches sich aber vom Theme (per console erstellt) unterscheidet.
Javascripte werden zB. auch nur in der StorefrontAssets Struktur bei mir kompiliert.
Was die Icons angeht hab ich auch mal getestet. das geht zZ. nur wenn unter:
/platform/src/Storefront/Resources/dist/assets/icon
ein “Set” ablegt und dieses in der icon.html.twig zugewiesen wird. Wenn ich das Set aber im Plugin ablege gehts nicht.
Die ganze Ordner Strukturierung ist für mich grade auch sehr verwirrend. (Resources/dist,Resources/storefront/dist, public… usw… blick da auch noch nicht wirklich durch)
habe es über mein theme leider nicht geschafft, die Vererbung der Icons so hinzubekommen, dass die Icons aus meinem Pluginordner gezogen werden.
Ich habe auf meinem Vagrant-Server jetzt erstmal die Icons in diesem Pfad getauscht, das hat geklappt und mein Template nutzt jetzt die neuen Icons.
habe es über mein theme leider nicht geschafft, die Vererbung der Icons so hinzubekommen, dass die Icons aus meinem Pluginordner gezogen werden.
Ich habe auf meinem Vagrant-Server jetzt erstmal die Icons in diesem Pfad getauscht, das hat geklappt und mein Template nutzt jetzt die neuen Icons.
Weiss jemand wie sich das bei einem “APP” Theme verhält?
Das scheint in APP Themes nicht wirklich zu funktionieren.
Es lassen sich im Symfony Profiler die vererbten Twigfiles auch nicht öffnen (zb @Storefront/storefront/utilities/icon.html.twig), also die sind nicht klickbar wie bei einem Plugin?!
Scheint sich irgendwie anders zu verhalten in einem APP Theme?! Weiss da jemand mehr und hat einen Tipp?
Ich habe mal zu dieser Thematik eine Frage.
Wenn ich das richtig verstehe definiere ich meine Icons via:
…
/@MeinTheme/…/app/storefront/dist/assets/icon/meinpaket/…
{% else %}
/@Storefront/…/app/storefront/dist/assets/icon/default/…
…
Bedeutet dass dann, wenn ich in meinem Paket z.B. nur 10 Custom SVG’s habe, greift das System auf die Default-SVG Icons zurück und zeigt mir z.B. im Warenkorb das X oder irgendwo anders das Standardicon von SW6 an?
Mittlerweile ist dies über den Namespace gelöst. Dort trägt man sein Theme ein und er holt sich dann das entsprechende Icon.
Hier ein Auszug aus der icon.html.twig {{ source('@' ~ namespace ~ '/../app/storefront/dist/assets/icon/'~ pack ~'/'~ name ~'.svg', ignore_missing = true) }}