Eigenes Plugin auf bestimmte Subshops einschränken

Hallo zusammen,

ich habe eine Shopware PE mit diversen Subshops. Nun habe ich eine Plugin geschrieben. Dieses Plugin soll aber nicht bei allen Subshops ziehen. Wie kann ich generell eigene Plugins auf subshops eingrenzen. Mein Ansatz wäre jetzt der, dass ich mir die URL hole und in der Tabelle s_core_rewrite_urls schaue welchem subshop die angefragte URL gehört und entsprechend darauf reagiere. Gibt es da grundsätzlich einen anderen Weg? Wie ist Eure Vorgehensweise…

 

Danke
Markus

Hallo,

ich würde einfach ein Auswahlfeld / Selectfeld innerhalb der Plugin-Konfiguration erstellen, das beispielsweise als Beschreibung „Plugin aktiv“ und als Optionen „Ja“ und „Nein“ enthält. Diese Feld sollte dann natürlich noch als subshopfähig deklariert werden, sodass man das Plugin pro Subshop aktivieren kann.

In den Events kann man dann ja einfach prüfen, ob die Option auf Ja oder Nein steht - bei Nein kann man ja einfach ein return zurückgeben, damit das (angepasste) Event nicht (weiter) ausgeführt wird.

Beste Grüße

Sebastian

Hallo,

so sollte es gehen. 

class Shopware_Plugins_Frontend_DeinPlugin_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
        public function install()
        {
            $this->createForm();
            return TRUE;
        }

        private function createForm()
        {
            $form = $this->Form();
            $form->setElement(‚checkbox‘, ‚show‘, array(
                ‚label‘ => ‚Plugin aktiv?‘,
                ‚value‘ => false,
                ‚scope‘ => \Shopware\Models\Config\Element::SCOPE_SHOP
            ));
        }

        public function onPostDispatchFrontend( Enlight_Event_EventArgs $oArgs )
        {
            $config = $this->Config();

            if (!$config->show) {
                return;
            }
            .
            .
            .
            .
        }
}