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
$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 der Wert @brand-secondary 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: 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.