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