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.xml und die Schlüssel im Code müssen exakt übereinstimmen. Ein Tippfehler führt still zu null – nicht zu einem Fehler.

Damit ist der Backend-Teil abgedeckt. Zeit für die Storefront.