Icons verschwunden? v6.4.15.2

Hallo an das Forum, ganz besonderes Hallo an das Team von @Shopware!

Ich hab keine Ahnung, was in der neuesten Version passiert ist - offensichtlich gibt es mehr als nur ein Problem mit der neuen Shop-Version. Siehe dazu auch ein anderes Problem: Custom Cookies verschwunden? v6.4.15.2

Nun ist mir auch noch aufgefallen, dass, nach einem Update auf den aktuellen Sicherheits-Patch, die Custom Icons verschwunden sind. In mehreren Projekten konnte ich das nun feststellen. Ich stelle mir ernsthaft die Frage, ob die Qualitätssicherung im Hause Shopware eigentlich den ganzen Tag am Schlafen ist!?!

Ich habe mir auch nochmal das Tutorial zu Gemüte geführt und dort wurde der Standard-Pfad der Icon-Assets auch schon wieder ganz woanders hingelegt… Das war früher mal der assets/ Ordner, zwischendurch mal der public/ Ordner, nun ist es der app/ Ordner … Leute, entscheidet euch doch vielleicht mal.

Aber davon ab: Ich habe die theme.json aus der Anleitung mit der des Themes verglichen und konnte keine ausschlaggebenden Unterschiede feststellen. Die Icons liegen im richtigen, in der json-Datei konfiguriertem, Pfad und die SVG-Files wurden auch in den public/bundles Ordner entsprechend übertragen. Hat jemand eine Idee, ob bei den SVG-Dateien seit neustem etwas beachtet werden muss? Darf vielleicht kein <style>-Tag verwendet werden, o.Ä.?

Shopware hat mal mehr Spaß gemacht.

Im Changelog steht deutlich drin, dass das Security Update die Twig Icon Funktion betrifft und bei individuellen Themes dies im Template ggf. manuell geändert werden muss.

Dort steht auch: „If you have overwritten the block utilities_icon please change it as follows“, was bei den bisherigen Projekten nicht der Fall ist.

Es wird die Core-Funktion sw_icon verwendet. Davon steht nichts im Changelog.

Muss die source Methode nun zwingend verwendet werden? Dazu müsste ich dann alle Projekte mit der Zeit anfassen, was schon etwas mehr Aufwand ist und der Kunde wundert sich, warum das Update diesmal teurer ist.
Wie ist das in Verkaufs-Templates geregelt? Diese müssen dann vorher die Feature-Version abfragen?

Das ist alles nicht so das gelbe vom Ei.

LG;LA

Wir haben ähliche Probleme. Wir hatten ein paar Icons mit dieser Methode getauscht: https://www.econsor.de/shopware/shopware-tutorials/eigene-svg-icons-in-shopware-6-verwenden/

Die utilities_icon ist bei uns jetzt wieder original (ausgetauschte SVGs einfach hart reingecoded), aber an etlichen Stellen sind die originalen Icons nicht zurückggekehrt.

Was für ein Glück, dass wir nur eine einzige Shopware 6 Installation am laufen haben, denn diese macht mehr Probleme als alle SW5 Installationen zusammen. Danke dafür.

1 „Gefällt mir“

Im Prinzip musst du „nur“ noch sw_icons den Namespace mit übergeben.

Vorher:
{% sw_icon ‚my-icon‘ style {‚pack‘: ‚my-own-icons‘, ‚namespace‘: ‚ThemeName‘} %}

Nachher:
{% sw_icon ‚my-icon‘ style {‚pack‘: ‚my-own-icons‘ } %}

Das hat bei mir die Lösung gebracht. Dafür kannst du 1:1 das den Block utilities_icon übernehmen bzw. musst diesen nicht mehr erweitern.

1 „Gefällt mir“

Nach langer Suche hier noch eine kleine Notiz.
Wichtig: Auch in der theme.json müssen die Pfade eingekürzt werden auf „/assets/icon/pack“.

1 „Gefällt mir“

Shopware hat soeben eine neue Patch-Version veröffentlicht:

We just released Shopware 6.4.16.1 as a Patch Update. Among other things, the problem with the visibility of the icons is fixed.

Ich hab es noch nicht getestet, aber ich denke, das könnte des Problems Lösung sein.

LG;LA

Ich habe es getestet, und es ist des Problems Lösung. :grinning:
Vielen Dank!

1 „Gefällt mir“

Kann ich nur bestätigen. Die icon.html.twig muss original sein, dann geht es. Vielen dank an @Shopware!

1 „Gefällt mir“

@finsti @webman Vielen Dank für Eure Rückmeldungen!

Ich habe das Update somit als Lösung markiert. Möge es zahlreichen Entwicklern helfen :pray:

LG;LA

Wir sind mit der Methode leider nicht zum Ziel gekommen. Ich vermute einmal, dass der Security Patch darauf hinaus lief, dass man nicht aus dem definierten Ressourcenverzeichnis nach oben navigieren konnte. Die SVG Icon werden ja nicht wie andere Images als Ressourcen verlinkt sondern direkt in das Html eingefügt, quasi als Template Ausgabe.

Daher mussten wir nun die Icon auch noch unter das Views Verzeichnis kopieren, damit diese auch direkt inkludiert werden können.

3 „Gefällt mir“

Bei mir zeigt er keine Icons mehr an. Gibt es eine Lösung die brauchbar ist ohne gleich Shopware zu aktualisieren. Das upgrade hat bei mir den Fehler nicht geschlossen. Und egal nicht wo ich die Icons einbinden will, findet er diese nicht.

Ist die Lösung scheis auf Shopware ??

Moin!

Dein Vorschlag wäre eine Möglichkeit, aber vorher kannst du versuchen, die Vorkommen von sw_icon im Theme durch Inline-SVGs zu ersetzen. Das ist die einfache Lösung.

Die „schwere“ ist aktualisieren. Das würde ich aber eh immer in bestimmten Abständen empfehlen - zumindest alle drei Monate sollte man das mal machen, da Shopware jeden Monat eine neue Version veröffentlich - gerade erst gestern die 6.4.18.0!

LG;LA

ich nutze Version 6.4.16.1
für die Kosten von ca. 3000 Eure die wir jährlich haben ist es das nicht wert.

Ähnliche Probleme bei uns.

Changelog Eintrag ok, aber die Probleme können manchmal sehr spezifisch sein.

Die Anleitung unter diesem Link führte dann dazu, dass die Icons wieder da waren:

https://www.econsor.de/shopware/shopware-tutorials/eigene-svg-icons-in-shopware-6-verwenden/

@littleAmused , @finsti , @webman
Also nochmal eine kleine Zusammenfassung wie das Thema nun gelöst wurde:

  1. Die Icons wurden unter <YourPlugin>/src/Resources/app/storefront/dist/assets/icon/<pack-name> gespeichert

  2. Der Aufruf der Icons lautete: {% sw_icon 'icon-name' style {'pack': '<pack-name>', 'namespace': '<YourPlugin>'} %}

Leider funktioniert das bei uns nicht :confused:

Moin!

Welche Shopware Version nutzt Ihr denn?

Habt Ihr die Icon-Packs in der Datei theme.json hinzugefügt?

Anleitung für v6.4: Add custom icons - Shopware Developer
Anleitung für v6.5: Add custom icons - Shopware Developer

In der 6.4er Reihe gab es einen Bug bei einer bestimmten Version, glaube 6.4.16 oder 6.4.17 … Bei v.6.4 empfehle ich sowieso ein Update, zumindest auf v6.4.20.2, da dies ein Sicherheits-Update war. Der Schritt zu 6.5 ist mit etwas mehr Aufwand verbunden, je nach Zusatz-Plugins und eingesetztem Theme.

LG;LA

Moin @littleAmused

Also wir nutzen die 6.4.20.2.

Prinzipiell funktioniert es wenn man die entsprechenden Einträge zur theme.json hinzufügt, aber wenn man nur ein „normales“ Plugin programmiert, existiert ja eigentlich keine theme.json.

Ich dachte dein Problem/ deine Lösung bezieht sich auf die Einbindung von Icons für Plugins ^^

Auf jeden Fall bin ich nach Dokumentation vorgegangen (also nach der von dir verlinkten), aber SW scheint die Icons nicht im <YourPlugin>/src/Resources/app/storefront/dist/assets/icon/<pack-name> Ordner zu suchen :confused:

Die Einträge einfach in der theme.json einzutragen ist in unserem Fall leider nicht zielführend, da es sich in diesem speziellen um ein Eltern-Theme handelt, welches nachfolgend mehrere Childs bekommen soll. Laut der Dokumentation zur Theme inheritance ist wohl keine Vererbung von Icon-Sets vorgesehen, sodass nur der Weg über die Anpassung der icon.html.twig übrig blieb.

LG Nico

Moin Nico!

Der Unterschied zwischen Theme und Plugin verschwimmt in Shopware 6 - im Grunde ist beides das Gleiche. Aber das ist in meinen Augen auch gut so, denn so hat man als Theme-Ersteller deutlich mehr Macht über das System und kann Plugin-Funktionen einfach als Features innerhalb des Themes einprogrammieren.

Ich hab mal bei uns in ein Theme reingeschaut… Ist zwar v6.5, aber vielleicht schaut Shopware wirklich nicht im „dist“ Verzeichnis - dort sollten eh nur Dateien liegen, die automatisch durch die bin/build- Befehle erstellt wurden.
theme.json:

"iconSets": {
    "brands": "app/storefront/src/assets/icons/brands"
}

Also reden wir doch über ein Theme ^^
Aber ich gebe Dir absolut Recht. Die Child-Theme-Problematik liegt bei uns auch noch ungelöst auf dem Tisch. Die Vererbung mit „configInheritance“ ist zwar besser geworden, aber Icon-Sets fehlen im Child Theme.
Wir liefern deswegen auf Wunsch ein angepasstes Child-Theme-Skeleton aus, welches die Icon-Sets unserer Themes nochmals beinhaltet. Es ist zwar nicht die optimale Lösung so und ich hoffe echt, dass Shopware da nochmal nachbessert, aber in den meisten Fällen funktioniert es trotzdem, weil die Kunden, die ein Child-Theme haben wollen, die Programmier-Arbeit meistens gleich durch uns erledigen lassen - insofern gibt es da, für uns zumindest, keine Probleme.

Habt Ihr dort eine Änderung bzgl. der Child-Themes gemacht? Würde mich auch interessieren, wenn Du Deine Lösung teilen magst :slight_smile:

LG;LA

Habt Ihr dort eine Änderung bzgl. der Child-Themes gemacht? Würde mich auch interessieren, wenn Du Deine Lösung teilen magst :slight_smile:

Ne wir haben in der Datei im Haupt-Theme die Änderungen gemacht, wie es hier beschrieben ist.

https://www.econsor.de/shopware/shopware-tutorials/eigene-svg-icons-in-shopware-6-verwenden/

Das wird ja dementsprechend dann in die Child-Themes vererbt.

1 „Gefällt mir“