# Less-Variablen kompilieren

**URL:** <https://forum.shopware.com/t/less-variablen-kompilieren/53795>\
**Category:** Programmierung\
**Created:** [29. Juni 2018 um 20:41 UTC](https://forum.shopware.com/t/less-variablen-kompilieren/53795 "2018-06-29T20:41:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![neonlines](https://avatars.discourse-cdn.com/v4/letter/n/c57346/32.png) [@neonlines](https://forum.shopware.com/u/neonlines)\
**Post date:** [29. Juni 2018 um 20:41 UTC](https://forum.shopware.com/t/less-variablen-kompilieren/53795/1 "2018-06-29T20:41:48Z")

</div>

Hallo zusammen,

wir möchten für eines unserer Plugins dem Shopbetreiber die Möglichkeit bieten, Theme-Variablen wie @brand-primary in den Plugin-Einstellungen zu verwenden. Die Plugin-Einstellungen sind dabei eigene Datenbankfelder in neuen Tabellen, die das Plugin mitbringt.

Die Theme-Konfiguration kann recht komfortabel ausgelesen werden über&nbsp;

```
$compiler = shopware()->Container()->get('theme_compiler');
$configuration = $compiler->getThemeConfiguration($shop);

```

Das Ergebnis sieht dann z.B. so aus:

```
Array
(
....
    [brand-secondary] : #5F7285
    [brand-secondary-dark] : darken(@brand-secondary, 15%)
....
)

```

Wenn im Backend in der Maske&nbsp;der Wert @brand-secondary&nbsp;eingetragen wurde, könnten wir diesen im o.g. Beispiel einfach durch den im Array stehenden Wert ersetzen. Soweit, so gut.

**Nun die eigentliche Frage:** &nbsp;Wie können wir die Variable @brand-secondary-dark vollständig auflösen? Eine einfache Ersetzung kann hier nicht stattfinden, zunächst muss die Variable @brand-secondary aufgelöst werden und dann das darken() durchgeführt werden.

Weiß hier jemand Rat / gibt es hierzu einen Service?

Danke euch. Das Plugin wird am 1. August veröffentlicht.

---

<div class="post-metadata">

**Author:** ![neonlines](https://avatars.discourse-cdn.com/v4/letter/n/c57346/32.png) [@neonlines](https://forum.shopware.com/u/neonlines)\
**Post date:** [2. Juli 2018 um 05:20 UTC](https://forum.shopware.com/t/less-variablen-kompilieren/53795/2 "2018-07-02T05:20:48Z")

</div>

WIr haben es gelöst. Mit dem Service “oyejorge\_compiler\_lib” kann ein String mit Less-Variablen aufgelöst werden. Wichtig dabei ist, dass getCss() aufgerufen wird, sonst meldet der Parser einen Fehler.

```
$this->lessParser->parse('@brand-secondary:#5F7285; @brand-secondary-dark:darken(@brand-secondary, 15%);');
$this->lessParser->getCss();
$this->lessParser->getVariables();

```

&nbsp;
