Hallo, ich möchte ein Plugin entwickeln, welches ein paar Basisfunktionalitäten im Shop überschreibt. Es funktioniert auch schon recht gut, allerdings fehlen die Sprachausgaben und es werden die Platzhalternamen angezeigt. Im Controller wird die entsprechende Aktion geladen: $request = $args-\>getSubject()-\>Request(); $response = $args-\>getSubject()-\>Response(); $view = $args-\>getSubject()-\>View(); if (!$request-\>isDispatched() || $response-\>isException() || $request-\>getModuleName() != 'frontend' || $request-\>isXmlHttpRequest() || !$view-\>hasTemplate() ) { return; } $view-\>addTemplateDir($this-\>Path() . 'templates/'); $view-\>extendsTemplate('listing/filter\_properties.tpl'); $view-\>extendsTemplate('index/header.tpl');
Im Template listing/filter_properties.tpl wird ein Block überschrieben, wo eine Sprachausgabe verwendet wird. Mit der vorletzten Zeile aus dem Controller wird die Sprachausgabe nicht ersetzt. Kommentiere ich die vorletzte Zeile oben aus, so wird die Sprachausgabe korrekt ersetzt. Die Doku von Shopware hat mir leider keine passenden Lösungswege aufgezeigt. Kann mir jemand von Euch helfen?
Ich habe das Problem nun gelöst. Shopware verwendet für die Plugins neue Namespaces, weshalb die Übersetzung nicht greift. Im Template habe ich den Namespace entsprechend gesetzt und es geht nun. {se name='FilterLinkDefault' namespace="frontend/listing/filter\_properties"}