Registriere eigene Smarty Funktion mit Plugin (nicht Theme)

Ich hab ein Plugin welches Bare Template Dateien an einigen Stellen erweitert. Nun möchte ich in diesen Templates ein eigenes Smarty-Function-Plugin nutzen. Ich habe laut Anleitung die PHP-Datei /custom/plugins//Resources/Views/_private/smarty/function.getSomething.php erzeugt und möchte sie nun in einem Template mit {getSomething variable=“v”} benutzen erhalte aber die Meldung dass das Tag getSomething nicht vorhanden ist. Ich denke mal ich muss das Smarty Plugin irgendwie registrieren aber wo/wie?

$template->addPluginsDir($this->getPath() . '/pfad/zum/smarty/plugin/');

Mehr dazu z.B. hier: https://forum.shopware.com/discussion/41963/syntax-error-in-template-unknown-modifier-sortby

Dort wird man auch gleich mit den Einschränkungen der Smarty Plugins vertraut (Checkout, Mailtemplates) Blush

Gelöst mit folgender Zeile im PostDispatchSecure_Frontend

$args->getSubject()->View()->Template()->addPluginsDir($this->getPath() . '/Resources/Views/_private/smarty/');

 

1 „Gefällt mir“