Shopware Variable mit neuem Wert setzen?

Hallo Zusammen,

Wie überberschreibe ich am einfachsten die Shopware Variable so, dass der Wert beim nächsten Mal auch bleibt, so wie ich ihn gesetzt habe? 

Konkret möchte ich z.B. die Fontfarbe (primare und/oder sekundäre) in meiner Setting-Registerkarte setzen. Im Prinzip möchte ich alle zum Thema relevante Farbeinstellungen an einem Ort haben, damit man nach Einstellungen nicht lange suchen muss wenn sie auf verschiedenen Registerkarten verteilt sind. 

Gruss

 

 

 

https://developers.shopware.com/designers-guide/configuration-using-theme-php/#configuration-sets

oder überschreib in deiner Theme.php die default Werte

Vielen Dank :slight_smile:

Hallo christiantrade

danke für die beigefügte Links, leider verstehe ich es noch nicht.

So wie ich bis jetzt die Zusammenhänge verstanden habe, handelt es sich hier eigentlich nicht um wirkliche Variablen, sondern eher um eine Art Konstanten. Man definiert sie (die Konstante) z.B. @HeaderBcGr und vergibt ihr einen Wert. Überall dort wo Compiler in einer LESS Datei diese „Variable“ (sprich Konstante) findet, ersetzt er sie mit unserem vordefiniertem Wert. Bin ich damit richtig?

Ich habe mir die Änderung einer Variable (Konstante) viel einfacher vorgestellt. Etwas in der Art:

@HeaderBcGr = #111

Aus deinem beigelegten Code habe ich aber diesen Teil gefunden, der mir so aussieht, als ob man damit bereits festgelegte Variable nachträglich in Theme.php ändern kann:

$set = new ConfigSet();
$set->setName(‚__color_scheme_turquoise__‘)->setDescription(
‚__color_scheme_turquoise_description__‘
)->setValues(
array_merge(
$this->themeColorDefaults,
[
‚brand-primary‘ => ‚#1db3b8‘,
‚brand-primary-light‘ => ‚lighten(@brand-primary, 5%)‘,
]
)
);
$collection->add($set);

 

Aber es scheint mir so, als ob ich diesen Code überarbeiten muss, weil ich hier keine Color Schema setzen will!?

Mit einer, diesmal etwas gründlichere, Suche im Forum konnte ich auch kein passendes Beispiel finden.

Danke trotzdem.

 

 

 

 

…eigentlich brauche ich etwas wie in Wordpress und zwar:

  1. einen Setting-Wert in die Datenbank speichern (z.B. in Wordpress geht das mit update_option(…)  )

  2. Auslesen der Einstellung (in Wordpress z.B. über get_option(…)  )

  3. Diesen ausgelesenen Wert in einer PHP Datei ändern (z.B in Theme.php von meiner erstellten Theme-Vorlage) 

  4. Den geänderten (oder auch nicht geänderten) Wert an LESS als LESS Variable übergeben.

 

Das Beispiel auf dem Developer Portal  https://developers.shopware.com/designers-guide/configuration-using-theme-php/  ist sehr schön aber leider zu sehr in einer Richtung orientiert, weil man damit eine LESS Datei gleichzeitig mit einer Setting-Eingabe im Theme-Konfiguration Formular erstellt. 

Gibt es ein Beispiel indem man also eine beliebige Variable erstellen kann, für die es kein Eingabefeld in dem Formular braucht und die man beliebig im PHP Code anpassen kann und dann den LESS Files zur Verfügung stellt?

Leider konnte ich so ein Beispiel bis jetzt nicht finden :frowning: