Eigenes Theme

Eigenes Shopware-Theme wurde entsprechend der Anleitungen eingerichtet. Ergebnis: Sobald die all.less ins eigene Theme geladen wurde (was lt. Anleitung notwendig ist) funktioniert die Kompilierung nicht mehr. Die Anzeige der Seite erfolgt wie gehabt, also ohne die eigenen Layouteinstellungen. Lösche ich die Datei wieder, wird zwar wieder kompiliert, aber das Theme wird natürlich nach wie vor in Standardausführung (Responsive) angezeigt, nicht so wie ich es will und programmiert habe. Ich habe jetzt allerhand getestet und gelesen und finde keine Lösung.

@steffenthiel schrieb:

funktioniert die Kompilierung nicht mehr

Gibt es keine Fehlermeldung? Wie sieht deine .less aus?

Viele Grüße 

1 Like

@steffenthiel‍ willkommen im Forum.

Hast du dich schon mal mit den Tutorials von Kayyy auseinandergesetzt, da ist vieles leicht verständlich erklärt.
https://shopwareianer.com/tutorials

Uwe

1 Like

@Aquatuning GmbH: Keine Fehlermeldung. Welche .less? Es gibt ja mehrere. all.less habe ich unverändert gelassen, footer.less verändert. 

@useg‍: Werde ich mir ansehen.

@useg‍: Ich habe mir die von dir empfohlene Seite angesehen. Sie ist nicht schlecht gemacht, nur hilft sie mir nicht weiter. Ich habe schon verstanden, wie das alles aufgebaut sein muß und habe es auch so gemacht. Nur kompiliert SW nicht mehr, so bald ich die all.less hochgeladen habe. Es kommt keine Fehlermeldung. Der Balken füllt sich nicht auf und würde wahrscheinlich den ganzen Tag so stehen bleiben, wenn ich nicht mit „F5“ abbrechen würde. Lösche ich die all.less im eigenen Theme über FTP funktioniert die Kompilatio wieder…

Es gibt schon eine Fehlermeldung - es hört nur keiner zu.

Siehe: http://forum.shopware.com/discussion/comment/106944/#Comment_106944
Und: http://forum.shopware.com/discussion/comment/106945/#Comment_106945

Viele Grüße

1 Like

poste mal deine all.less und die, die du in deine all.less eingebunden hast, warscheinlich dann die footer.less

Meistens ist es ein Fehler in der .less wenn das Theme nicht kompiliert wird, da reicht schon wenn eine geschweifte Klammer fehlt.

Uwe

1 Like

Es hört deswegen keiner zu, weil es seit 5.1.3 oder gar schon seit 5.1.2 einen Bug gibt - der Compiler bleibt schlicht hängen und zeigt wegen falscher Kodierung im Backend nichts an - dazu gibt es auch einen Eintrag im Bugtracker. Shopware Issuetracker

Da muss man sich auch nicht durch irgendeine allgemeine FAQ arbeiten, sondern lädt sich einfach per FTP aus /var/log den letzten Log runter - da steht dann schön am Klartext drinne, wo und in welcher Datei der Compilierungsfehler aufgetreten ist.

1 Like

@useg‍: Kann ich machen. Ist aber nicht das Problem, da die Dateien funktionieren, wenn ich die direkt ins Responsive-Template lade (habe ich getestet).

Vielen Dank @sonic‍! Die Fehlermeldung ist folgende;

[2016-04-01 12:10:09] core.ERROR: exception ‘Less_Exception_Parser’ with message ‘File ../../vendors/less/normalize-less/normalize.less not found. in all.less’ in /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Parser.php:2606 Stack trace: #0 /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Parser.php(319): Less_Parser->Error(‘File `…/…/ven…’) #1 /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Tree/Import.php(277): Less_Parser->parseFile(’…/…/vendors/l…’, ‘…/…/vendors/l…’, true) #2 /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Tree/Import.php(193): Less_Tree_Import->ParseImport(’…/…/vendors/l…’, ‘…/…/vendors/l…’, Object(Less_Environment)) #3 /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(248): Less_Tree_Import->compile(Object(Less_Environment)) #4 /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(235): Less_Tree_Ruleset->evalImports(Object(Less_Environment)) #5 /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(70): Less_Tree_Ruleset->PrepareRuleset(Object(Less_Environment)) #6 /www/htdocs/w014567a/shopware/vendor/oyejorge/less.php/lib/Less/Parser.php(187): Less_Tree_Ruleset->compile(Object(Less_Environment)) #7 /www/htdocs/w014567a/shopware/engine/Shopware/Components/Theme/LessCompiler/Oyejorge.php(94): Less_Parser->getCss() #8 /www/htdocs/w014567a/shopware/engine/Shopware/Components/Theme/Compiler.php(204): Shopware\Components\Theme\LessCompiler\Oyejorge->get() #9 /www/htdocs/w014567a/shopware/engine/Shopware/Controllers/Backend/Cache.php(174): Shopware\Components\Theme\Compiler->compileLess(‘new’, Object(Shopware\Proxies__CG__\Shopware\Models\Shop\Template), Object(Shopware\Models\Shop\Shop)) #10 /www/htdocs/w014567a/shopware/engine/Library/Enlight/Controller/Action.php(158): Shopware_Controllers_Backend_Cache->themeCacheWarmUpAction() #11 /www/htdocs/w014567a/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch(‘themeCacheWarmU…’) #12 /www/htdocs/w014567a/shopware/engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #13 /www/htdocs/w014567a/shopware/engine/Shopware/Kernel.php(153): Enlight_Controller_Front->dispatch() #14 /www/htdocs/w014567a/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(492): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #15 /www/htdocs/w014567a/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #16 /www/htdocs/w014567a/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(263): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #17 /www/htdocs/w014567a/shopware/engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #18 /www/htdocs/w014567a/shopware/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #19 {main} {“uid”:“104cbaa”}

Den vendors-Ordner habe ich inzwischen im eigenen Template ergänzt. Ich dachte zunächst, ich benötige ihn nicht, da ich dort nichts geändert habe. Der Compiler bleibt immer noch hängen. Allerdings wurde keine neue Fehlermeldung ins log geschrieben.

Ich tippe auf einen kleinen Syntax-Fehler irgendwo.

Ich habe im Theme neue Variablen hinzugefügt und bei mir bleibt der Compiler auch immer hängen wenn es frisch installiert wurde, weil er die Less-Variablen noch nicht kennt. Dann funktioniert es wenn ich im Theme-Manager das Theme einmal zum bearbeiten/einstellen öffne und direkt das Theme speicher, also Einstellungen->Theme-Manager->Eigenes Theme anklicken->Theme konfigurieren->Speichern (dann Cache löschen und Kompilieren). Evtl. hilft das ja auch hier?

 

1 Like

Zeige mal bitte Deine all.less, ich habe so den Verdacht, Du hast die Original-Dateien 1:1 kopiert und dann geändert? => Wenn ja: Fataler Fehler!
In der eignen all.less werden nur die Dateien eingebunden, die auch wirklich eigene Ergänzungen haben und benutzt werden.
Deine „eigene“ kann eigentlich nicht als Austausch im Origginal funktionieren!

Hast Du von Bare oder Responsive ein eigenes Theme abgeleitet?

1 Like

@sonic‍: Ich habe es tatsächlich so gemacht. Nach der von dir beschriebenen Änderung funktioniert alles tadellos! Vielen Dank!