Wenn ich meine Plugin-Konfiguration an die Storefront Engine übergeben möchte, erhalte ich leider nicht die richtigen Domain-Pfade um die Variablen mit Twig aufzurufen…
Hier ein stark reduziertes und verinfachtes Beispiel vom Subscriber:
public function onStorefrontRender(StorefrontRenderEvent $event)
{
// get config
$config = $this->systemConfigService->getDomain('prefixPluginName.config.', $event->getSalesChannelContext()->getSalesChannel()->getId(), true);
// add config
$event->getContext()->addExtension('prefixPluginName', new ArrayEntity('config' => $config));
}
In Twig stehen mir dann die Infos folgendermaßen zur Verfügung:
Wenn ich mir die Konfiguration mit der get-Methode hole passiert das nicht. Nur mit getDomain(), was halt super praktisch ist, da man nicht jedes Element manuell holen muss. Was mache ich falsch?
was Moorleiche vermutlich sagen wollte: Du brauchst dich eigentlich nicht selber darum kümmern, die Config über eine Extension an die Storefront weiterzugeben, da sie eigentlich unter “shopware.config” direkt im Template verfügbar sein sollte.
Ist die Plugin-Config dann in jedem Controller verfügbar? In Shopware 5 musste man ja in einem oder mehrern Events per Subscriber die Config an die Storefront übergeben.
Das war mir neu… steht das irgendwo in einer Doku?
Besteht die Möglichkeit aus einem Subscriber heraus auf die automatisch angelegte Konfiguration unter shopware.config zuzugreifen und zu verändern?
Ich steuere durch eine Config, auf welchen Seiten / Controllern das Plugin dargestellt wird. Diese Frage ich im Subscriber ab und manipulier(t)e die Übergabe der Variablen an die Storefront.