Wenn du themes kompilierst müssen die Variablen, die genutzt werden sollen, auch irgendwo definiert sein.
Bei einem EVO-Child Template läuft das normal so:
> in der theme.less werden per @import alle less-Dateien "verbunden", die in die Kompilierung mit einfließen sollen. In der Regel ist das z.b. auch die variables.less, in der die von dir erwähnte @navbar-border-dotted definiert wird.
dort ist diese Codezeile drin:
Code:
@navbar-border-dotted: 1px dotted @gray-base;
Der Editor sagt dir hier also nur, dass die von dir in der theme.less genutzte Variable nicht definiert ist. Entweder du definierst sie, oder du kontrollierst, ob die variables.less korrekt per @import geladen wird. In meinem Beispiel habe ich im Child eine eigene variables.less liegen und nutze nicht die aus dem EVO-Parent. Läd man Inhalte aus dem Parent, kann das z.b. so aussehen:
Code:
@import "../../../../Evo/themes/base/less/base";
Und bitte editiere nicht das eigentliche EVO-Template, sondern lege dir vorher immer ein updatesicheres Child an. Das kann man eigentlich nicht oft genug sagen.
http://docs.jtl-shop.de/de/latest/shop_templates/eigenes_template.html
Natürlich kannst du dir ins Child eine eigene base.less packen, anstatt die vom EVO parent zu laden - lohnt meiner Meinung nach aber nur, wenn man wirklich gravierende Änderungen vornimmt. Ansonst kann man die Original base.less aus dem EVO parent laden und überschreibt oder ergänzt dann per theme.less etc die eigenen Anpassungswünsche. In meinen Templates teile ich die less dann teilweise der Ordnung halber noch in *sozusagen* Themen/Websitebereiche auf.