Plugin aktiviert

Shopware 5.3 :

Ich schreibe im config.xml :

 \< **elements** \> \< **element**  **type**** ="boolean" **\> \<** name **\>xxx** name **\> \<** label **** lang ****="de"** \>Plugin aktivieren **label** \> \< **label**  **lang**** ="en" **\>Enable plugin** label **\> \<** description **** lang ****="de"** \>Aktivierte das Plugin für den ausgewählten Subshop. **description** \> \< **description**  **lang**** ="en" **\>Activate the plugin for the selected subshop.** description **\>** element **\>** elements**\>

 

Danach setze  ich diese Feld auf “nein” im Plugin Manager => Plugin ist immer aktiviert !!

Wie kann ich eine Checkbox machen damit ich den Plugin aktiviert oder deaktiviert kann?

Liebe Grüße,

Maja

Checkboxen gibt es in der Plugin Konfiguration leider nicht. Es wird bei einem boolean immer automatisch ein Dropdown Menü mit ja/nein erzeigt.

            pluginEnabled
            Plugin aktiv
            true

 

Danke geht leider nicht .Das Plugin wird immer hochgeladen.

Die Config alleine reicht da nicht.
Du musst dann natürlich an entsprechender Stelle den Programmablauf „unterbrechen“ - z.B. deinplugin.php 

public function onPostDispatch(\Enlight_Controller_ActionEventArgs $args)
{
    /** @var \Enlight_Controller_Action $controller */
        
    /** get Plugin-Configuration */
    $config = $this->getConfiguration();

    if (!(bool) $config['xxx']) {
        return;
    }
    /** Dein Code */
}

private function getConfiguration() {
    /** return Plugin-Configuration from current shop */
    return $this->container->get('shopware.plugin.cached_config_reader')->getByPluginName($this>getName(), $this->container->get('Shop'));
}