Nach Update 5.2.27 -> 5.3.4 bei Theme kompilieren Fehler: variable @zindex-fancy-select is undefined

Hallo Gemeinde,

nach Update von 5.2.27 auf 5.3.4 und darauffolgendes Theme kompilieren wird mir folgender Fehler angezeigt:

Während der Bearbeitung von Shop "Hauptshop Deutsch" ist ein Fehler aufgetreten: variable @zindex-fancy-select is undefined in file /var/www/vhosts/shop_de/shopware/xshopware5/themes/Frontend/shop/frontend/_public/src/less/_components/fields.less in fields.less on line 157, column 18 155| display: block; 156| cursor: pointer; 157| z-index: @zindex-fancy-select; 158| 159| option { 160| color: @text-color-dark;

Das Kompilieren bricht dann ab.

Leider habe ich dazu keine Posts gefunden. Wie ist der Fehler zu beheben?

Danke im Voraus.

Grüße
Michael

Naja, du nutzt in deinem Theme die Variable zindex-fancy-select. Die gibt es mit der 5.3 nicht mehr, da “Fancy-Select” nicht mehr enthalten ist. 

Wenn du die less-Dateien des Responsive-Themes 1:1 in dein eigenes Theme kopiert hast, siehst du jetzt eines der Nachteile. Das sollte man nämlich nicht machen.

Viele Grüße

Danke für deine Antwort.

Und wie kann ich den Fehler beheben?

Das man die Less-Datei nicht 1:1 übernehmen soll, war bis jetzt nicht bekannt!?

Viele Grüße
Michael

Hallo,

es macht ja wohl überhaupt gar keinen Sinn, eine Datei aus dem Bare - oder Responsive - Theme zu kopieren - egal ob Theme-, LESS- oder JavaScript-Datei.

Du wirst nicht eine einzige Dokumentation von Shopware finden, wo steht, das man sowas machen solll. Warum auch? Bei Shopware gilt die Vererbung, das heißt auch, wenn man vom Responsive Theme ableitet, hat man ja eh die Inhalte schon, ein kopieren macht also überhaupt keinen Sinn.

Logischerweise hinterlegt man in seinem Theme nur das, was man ändern will - und nichts anderes.

Beheben kann man es, indem man einfach sein Theme richtig aufbaut oder Quick and Dirty die angesprochene LESS-Variable aus seinem eigenen Theme entfernt, da es die in 5.3 im Responsiven Theme nun nicht mehr gibt.

Beste Grüße 

Sebastian

2 „Gefällt mir“

Anstatt die Variable zu löschen, kannst du sie auch einfach neu definieren. Dann steht sie auch wieder zur Verfügung. 

Danke für die Antworten.

@hbee‍
Kannst du mir sagen wie ich diese neu definieren kann?

Danke im Voraus.

Grüße
Michael

Du könntest in deiner all.less an erster Stelle einfach @zindex-fancy-select: 1000 schreiben. Allerdings wird es vermutlich noch an anderen Stellen krachen. Immerhin überschreibst du alle Styles des Responsive Themes, wenn du die Less-Dateien 1:1 kopierst. Ändert sich etwas imamResponsive Theme, wird dein Theme trotzdem die alten Styles aus der 5.2 Linie laden. Daher meine Empfehlung: Erstelle dein Theme neu, diesmal richtig nach dem Designers Guide von Shopware.

Viele Grüße

Danke für die Antworten.

Habe meine fields.less nun angepasst und nur die Änderung eingetragen.

Hey ich habe genau das selbe problem, wie genau hast du dies gelöst ?

Wir haben dein altes Design was genau den selben Fehler schmeißt:

variable @zindex-fancy-select is undefined in file /var/www/vhosts/shop_de/shopware/xxxxxxx/themes/Frontend/shop/frontend/_public/src/less/_components/fields.less

gibts hier einen schnellen fix ? workaround ?

das design wurde vor x jahren mal von irgendeiner agentur angefertigt.

So wie ich es geschrieben. Ich habe die komplett aus dem Responsive Theme in mein Theme kopierte fields.less gelöscht nur die Änderung in meine fields.less eingetragen.

 

Hallo,

also den Inhalt einer LESS-Datei aus dem Responsive Theme in das eigene Theme zu kopieren macht überhaupt keinen Sinn und ist dazu auch noch komplett falsch (ich hoffe, dass das mit diesem Satz nicht gemeint ist). Der Sinn der Vererbung ist ja, das man so und so den Inhalt der LESS-Datei aus dem Responsiven Theme erbt, dort also etwas (heraus zu) kopieren würde also doppelten Content verursachen und überhaupt keinen Sinn ergeben und ist dazu auch noch sehr fehleranfällig und auch nur bedingt updatesicher umgesetzt.

Grüße

Sebastian