Template-Erweiterung der Shopware B2B Suite

Hallo Zusammen,

Ich versuche gerade für einen Enterprise Kunden eine Template-Erweiterung für die SW6 B2B Suite umzusetzen.
Konkret entwickeln wir ein eigenes Plugin, welches die B2B Suite (SwagB2bPlatform) um eine neue Seite erweitert.

Für diese Anforderung ist es am Ende erforderlich, dass ich die B2B-Navigation und das B2B Dashboard um einen zustätzlichen Link zu unserem eigenen Controller erweitere.

Die Beispiele für die Erweiterung des Templates unter Example Plugins bzw. https://docs.enterprise.shopware.com/exampleplugins/B2bTemplateExtension.zip funktionieren mit Shopware 6.4 leider nicht.

Beim beispielhaften Versuch das Navigations-Template der B2B-Suite im eigenen Plugin mittels

{% sw_extends '@SwagB2bPlatform/storefront/_partials/_b2bnavigation/_navigation.html.twig' %}

zu überschreiben gibt es folgenden Fehler:

Argument 1 passed to Twig\Loader\ChainLoader::exists() must be of the type string, null given, called in /home/vagrant/www/shopware/vendor/shopware/core/Framework/Adapter/Twig/TemplateFinder.php on line 87

Ein Template für unsere eigene Seite konnte ich problemlos registrieren.
Nur das Überschreiben der Original-Templates aus der B2B Suite klappt nicht.

Auch die Verwendung des im Beispiel-Plugin angegebenen TemplateNamespaceHierarchyBuilder klappt nicht.
Diesen musste ich sogar nochmal anpassen, da die Methode „buildNamespaceHierarchy“ nicht wie im Beispiel angegeben einfach nur den Plugin-Namen im Array erwartet, sondern den Plugin-Namen als Key und den Wert, ob es sich um ein Theme handelt, als Value, also:

class TemplateNamespaceHierarchyBuilder implements TemplateNamespaceHierarchyBuilderInterface
{
    public function buildNamespaceHierarchy(array $namespaceHierarchy): array
    {
        return array_merge(['CompraB2bPlatformExtensionSW6' => 0], $namespaceHierarchy);
    }
}

Ich bin für jede Hilfe dankbar, da das Thema mit der Zeit drängt.

Viele Grüße
Dennis

1 „Gefällt mir“