Plugin nur in einigen Sprachshops?

Hi, einfache Frage, leider finde ich hier keine schnelle Antwort:

Können Plugins nur für einzelne Sprachshops verwendet werden? Oder sind die automatisch immer auf allen aktiv?

Ich bräuchte ein Plug-in für nur 2 Sprachshops…

Tausend Dank für Eure Hilfe!

Kommt auf das Plugin an…

Es kann so gebaut werden, dass man es pro Subshop aktivieren/deaktivieren kann.

1 „Gefällt mir“

Hi Moritz,

pro Subshop ok  - aber pro Sprachshop?

Plugin geht nur “aktiviert / deaktiviert”.
Wie es oft gemacht wird: (Der Sprachshop bekommt auch einen Tab in der Plugin-Config)
In der config.xml vom Plugin ein Element, z.b. Dropdown  mit “Aktiv: Ja / Nein” und Scope:shop
Im Plugin an den relevanten Stellen - wo also etwas gemacht wird (event?) - die Config zum Shop lesen und den Wert auslesen. Wenn “nein”, dann Code nicht weiter ausführen “return”

z.B.

    pluginIsActive
    Plugin-Funktion im Shop aktiv
    1
    Aktiviert die Pluginfunktionen im aktuellen Shop.

 public function onPostDispatchSearch(\Enlight_Controller_ActionEventArgs $args)
 {
    /** get Plugin-Configuration */
    $pluginConfig = $this->getConfiguration();

    if (!(bool) $pluginConfig['pluginIsActive']) {
        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'));
}