#2018 Kompilierungsfehler "error evaluating function" debuggen

Fehlerbeschreibung

Bei der Theme-Kompilierung tritt im Backend eine Fehlermeldung auf. Diese kann beispielsweise wie folgt lauten: "error evaluating function `darken` The first argument to darken must be a color (did you forgot commas?) index: 670"


Ursache

In einem Theme (oder manchmal auch in einem Plugin) wurde ein ungültiger Wert eingetragen, der durch eine LESS-Funktion nicht verarbeitet werden kann. 


Lösung

Da Shopware leider keine Informationen zu der Variable ausgibt oder loggt, müssen wir dies selbst hinzufügen und auslesen.


  1. Logging hinzufügen
    1. Datei: /vendor/oyejorge/less.php/lib/Less/Tree/Call.php (ca. Zeile 80 und 86, s. Screenshot unten)
    2. $logger = Shopware()->Container()->get('pluginlogger');
      $logger->error ($e->getMessage(), [json_encode ($this->args)]);
  2. Log auslesen
    1. Einstellungen > Logfile > System-Log > plugin_production_YYYY-MM-DD.log
    2. Eintrag öffnen
    3. Im unteren Feld stehen die Infos, ganz am Anfang der Name der betroffenen Variable (s. Screenshot unten)
    4. Variable in ThemeWare prüfen 
  3. Logging wieder entfernen


Screenshots



Bitte teile uns deine Meinung mit!

Danke, das hat mir geholfen
Hat mir nicht geholfen

ad1151d67636f63789b59f685b7b4d3c
Kurz die Cookies, dann geht's weiter...
Auch diese Seite nutzt die üblichen Arten von Cookies: Technische und funktionale Cookies sind unbedingt nötig,damit diese Website überhaupt funktionieren kann.Zusätzlich nutzen wir Marketing-Cookies,damit wir dich auf unseren Seiten wiedererkennen und unsere Website und Kampagnen stets verbessern können, sowie Personalisierungs-Cookies mit denen wir dich, auch außerhalb dieser Website, besser ansprechen können.

Mit der Auswahl "Akzeptieren und Schließen" erlaubst Du uns die Verwendung dieser Cookies und Technologien. Bitte besuche unsere Datenschutzerklärung für weitere Informationen. Dort erfährst Du auch wie wir die Daten für erforderliche Zwecke (z. B. Sicherheit) verwenden.

Hier kannst du einstellen, welche Cookies du zulassen möchtest.

Technisch erforderlich

Wir nutzen Cookies, um die Bedienung und die Bereitstellung der Website zu ermöglichen und um sicherzustellen, dass bestimmte Funktionen ordnungsgemäß funktionieren. Diese Cookies sind immer aktiviert, da Du die Website sonst nicht ordnungsgemäß bedienen könntest.

Marketing

Die TC-Innovations GmbH und unsere Werbepartner (einschließlich Social Media-Plattformen wie Google, Facebook und Instagram) nutzen Tracking, um Dir personalisierte Angebote anzubieten, die Dir das volle Nutzererlebnis bieten. Dies beinhaltet das Anzeigen von "Direktwerbung auf Werbeplattformen Dritter", wie in der Datenschutzerklärung beschrieben. Wenn Du dieses Tracking nicht akzeptierst, wirst Du dennoch zufällige Werbeanzeigen von uns auf anderen Plattformen angezeigt bekommen.

Analyse

Um unsere Websites und Services stetig zu verbessern, analysieren wir das Nutzerverhalten auf unseren Websites.

Mehr Informationen findest du in unserer Datenschutzerklärung.

Speichern Cookie-Einstellungen Akzeptieren und Schließen