[gelöst] Frontend Hook, Fehler beim installieren

Aufbauend auf dem Wikieintrag zu “Events und Hooks” versuche ich gerade ein Plugin für das Frontend zu schreiben. Beim Versuch des Uploads als Zip über das Backend kommt folgende Fehlermeldung: Die Plugin Struktur entspricht nicht dem vorgegebenen Format. Der Namespace des Plugins konnte nicht ermittelt werden. Lade ich per FTP hoch und installiere das Plugin kommt keine Fehlermeldung, dafür tut das Plugin auch nichts. Bootstrap.php <?php class Shopware_Plugins_Frontend_DivArticlePrice_Bootstrap extends Shopware_Components_Plugin_Bootstrap { public function install() { $event = $this->subscribeEvent( 'sArticles::sGetArticleById::after', 'onArticle', 0 ); return true; } static function onArticle(Enlight\_Hook\_HookArgs $args) { $article = $args-\>getReturn(); //Preisanzeige anpassen $args-\>setReturn($article); } /\*\* \* Get version tag of this plugin to display in manager \* @return string \*/ public function getVersion() { return "1.0.0"; } } Mir ist klar das der hier gepostete Code nichts tut, ist gekürzt. Aber selbst die gekürzte Version lässt sich als Beispiel Plugin nicht installieren. Jemand eine Idee ?

Geladen wird das Plugin nun. Mein Fehler lag an der Ordnerstruktur im Plugin welche nicht: \Frontend\PluginName\Bootstrap.php war. Im Plugin selbst modifiziere ich den Preis, aber dort passiert nichts. Wie kann man ein Frontendplugin am besten Testen ?

1 „Gefällt mir“

Konnte mit meinen Plugins das gleiche verhalten feststellen, dass der Upload im Backend nicht funktioniert mit der gleichen Fehlermeldung: "success":true,"data":{"id":1957,"type":"backend","key":"","text":"Die Plugin Struktur entspricht nicht dem vorgegebenen Format. Der Namespace des Plugins konnte nicht ermittelt werden.","date":new Date(1349708265000),"user":"Demo-Admin","ipAddress":"127.0.0.1","userAgent":"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.4 (KHTML, like Gecko) Chrome\/22.0.1229.79 Safari\/537.4","value4":""},"\_isEmotion":true} Das stört mich jetzt mal nicht weiter, da ich lokal entwickle.

Das Problem hat sich gelöst. Pluginproblematik war die Ordnerstruktur in der Zip, funktioniert nun. Das Plugin funktioniert auch, nur man sieht die Funktion nicht aufgrund eines Denkfehlers. Für alle die es interessiert: Aufgabe war: Änderung der Preisdarstellung. Teil vor dem Komma, Komma und Centbetrag sollen getrennt voneinander in css formatierbar sein. => Kapselung in div. Idee Plugin das den Preis nach allen Berechnungen in div Kapselt und zurückgibt. Problem: Ich habe die Rechnung ohne die Smarty Plugins zur Preisformatierung gemacht. Dadurch war der Preis nun immer 0. Neuer Ansatz: Formatierung im Template über Smarty->Explode.