Plugin config daten auslesen

Hi,
ich möchte gerne auf die plugin config zugreifen, ausserhalb des Backend_Controllers_ExtJs. wie stelle ich das am besten an? mein Ziel ist es eine REST-Abfrage nur dann abzufeuern wenn ein bestimmter Wert in der Config steht. Im Controller würde ich ja einfach this->container->get(’…’). Soweit ich das verstanden habe ist „container“ aber nur für php klassen erreichbar die von dem shopware controller erben.

Grüße

So in der Art nutze ich das

/**
 * get plugin config value by name
 *
 * @param string    $name
 * @param mixed     $default
 * @param Shop|null $shop
 *
 * @return mixed
 * @throws \RuntimeException
 */
public function getPluginConfig($name, $default = null, Shop $shop = null)
{
    $pluginConfig = $this->getPluginConfigs($shop);

    return isset($pluginConfig[$name]) ? $pluginConfig[$name] : $default;
}

/**
 * return plugin config values
 *
 * @param Shop|null $shop
 *
 * @return mixed
 * @throws \RuntimeException
 */
public function getPluginConfigs(Shop $shop = null)
{
    $shop = $shop === null ? Shopware()->Shop() : $shop;
    $configReader = Shopware()->Container()->get('shopware.plugin.cached_config_reader');
    $pluginConfig = $configReader->getByPluginName('MyPlugin', $shop);

    return $pluginConfig;
}

getPluginConfig('myConfigVar')

Du kann einen Default Wert (sonst null) mit geben und ggf. auch Werte von einem anderen Shop holen.

1 „Gefällt mir“

Hmm

Shopware()->Config()->get('meine_Variable_im_Plugin')