Abfrage Subshop in einem Plugin?

Hab jetzt alle möglichen Beschreibung durch, aber leider nicht die Antwort gefunden und deshalb hier eine ganz einfache Frage:

Wie kann ich in einem Plugin (in der Bootstrap.php) den aktuellen SubShop abfragen?

 

In welchem Subshop man sich befindet kann man nur Abfragen, wenn man sich in einem Frontend Request befindet. Im Backend / API / Consolen Commands gibt es keinen aktiven Subshop. (Woher soll Shopware das auch wissen wenn keine URL aufgerufen wird, die einem Subshop zugeordnet werden kann?)  Daher wirst du dort auch eine Fehlermeldung bekommen wenn du folgenden Code an diesen Stellen verwendest:

get('shopware_storefront.context_service')->getShopContext();

Dabei ist $shopContext ein Objekt der Klasse ShopContext. Bei dieser kannst du dann z.B. getShop() den aktuellen Subshop herausfinden. Schau dir am besten den vorherigen Link an um zu sehen, auf was du alles zugreifen kannst.

Viele Grüße

1 „Gefällt mir“

Ah, ok Danke für deine Antwort. Ich probier das gleich mal aus.

Ich tu mich noch etwas schwer mit dem Auslesen der id()

 

Ich komme hier aktuell nicht weiter - dreht der Kopf. Muss noch mal nachfragen:

Ich bin auf der Startseite (Hauptshop oder Subshop) und wie kommt ich hier in der Bootstrap über die aktuelle KategorieID heran. Im Hauptshop ist das meisten Deutsch mit 3. Bei Subshops kann das ja anders sein. Über $shopContext = $this->get(‚shopware_storefront.context_service‘)->getShopContext(); habe ich eine große Auflstung. Meine relavanten Werte finde ich unter „[category:protected] => Shopware\Bundle\StoreFrontBundle\Struct\Category Object“ aber wie komme ich dort hin? Wie lese ich das korrekt aus?

Hi R4M,

versuche mal folgendes $shopContext->getShop()->getCategory()->getId()

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 „Gefällt mir“

Ahhh, genau das richtige! Super und besten Dank!