Plugin-Konfiguration
Einstellungen im Admin
Die meisten Plugins brauchen Einstellungen – etwa einen Schwellwert, einen Text oder einen Schalter. Shopware erzeugt daraus automatisch eine Oberfläche in der Administration.
config.xml
Die Konfiguration liegt in Resources/config/config.xml. Jedes Feld wird beschrieben, Shopware baut die passende Eingabemaske:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<card>
<title>Grundeinstellungen</title>
<input-field type="int">
<name>decimals</name>
<label>Nachkommastellen</label>
<defaultValue>2</defaultValue>
</input-field>
<input-field type="bool">
<name>active</name>
<label>Aktiv</label>
</input-field>
</card>
</config>
Werte auslesen
Zur Laufzeit kommt man über den SystemConfigService an die Werte. Der Schlüssel folgt dem Muster <PluginName>.config.<feldname>:
$decimals = (int) $this->config->get('SwagExample.config.decimals');
$isActive = (bool) $this->config->get('SwagExample.config.active');
Pro Verkaufskanal
Einstellungen lassen sich auch pro Sales Channel überschreiben. Übergibt man die Sales-Channel-ID, liefert der Service den kanal-spezifischen Wert – sonst den globalen:
$value = $this->config->get('SwagExample.config.decimals', $salesChannelId);
Merke: Feldnamen in der
config.xmlund die Schlüssel im Code müssen exakt übereinstimmen. Ein Tippfehler führt still zunull– nicht zu einem Fehler.
Damit ist der Backend-Teil abgedeckt. Zeit für die Storefront.