Hallo Leute, ich habe mal ein eigenes Plugin geschrieben um bestimmte Edelmetallkurse anzuzeigen. Dazu habe ich mich an das Tutorial Grundlagen der Plugin Entwicklung von Shopware angelehnt. In meiner Bootstap Datei habe folgende Funktion geschrieben: public function onPostDispatchFrontend(Enlight\_Event\_EventArgs $arguments) { /\*\*@var $controller Shopware\_Controllers\_Frontend\_Index\*/ $controller = $arguments-\>getSubject(); $view = $controller-\>View(); $request = $controller-\>Request(); if ($request-\>getModuleName() !== 'frontend' || !$view-\>hasTemplate()) { return; } $view-\>addTemplateDir($this-\>Path() . 'Views/'); $view-\>extendsTemplate('frontend/plugins/edelmetallkurse/index.tpl'); $view-\>assign('kurs\_gold', $this-\>getGoldkurs()); }
Auf meinem Localhost funktioniert alles wunderbar. Aber wenn ich das Plugin auf dem Webserver aktiviere, bekomme ich diese Fehlermeldung: Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template snippet 'frontend/error/index.tpl|frontend/plugins/edelmetallkurse/index.tpl'' in /var/www/g21700/europeancentralmint.eu/HTML/shop/engine/Library/Smarty/sysplugins/smarty\_internal\_templatebase.php:127 Stack trace: #0 /var/www/g21700/europeancentralmint.eu/HTML/shop/engine/Library/Enlight/View/Default.php(273): Smarty\_Internal\_TemplateBase-\>fetch() #1 /var/www/g21700/europeancentralmint.eu/HTML/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(212): Enlight\_View\_Default-\>render(Object(Enlight\_Template\_Default)) #2 /var/www/g21700/europeancentralmint.eu/HTML/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(238): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>renderTemplate(Object(Enlight\_Template\_Default)) #3 /var/www/g21700/europeancentralmint.eu/HTML/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>rend in /var/www/g21700/europeancentralmint.eu/HTML/shop/engine/Library/Smarty/sysplugins/smarty\_internal\_templatebase.php on line 127
Ich weiß absolut nicht woran das liegen soll. Was mich auch verwundert ist, dass das Plugin aus dem Tutorial angezeigt wird, aber meins nicht obwohl ich so gut wie nichts anderes habe. Nur eine andere Datenbank und andere Funktionsnamen. Kann mir jemand weiterhelfen?
stimmen den die pfade noch?
Welche Pfade meinst du genau? Es funktioniert ja auf meinem localhost. Deswegen habe ich das Plugin auch via FileZilla auf meinem Server kopiert und aktiviert. Aus der Fehlermeldung werde ich nicht schlau. Ich habe gar kein Verzeichnis ‘Error’ in meinem Template Ordner. Aber die anderen Templates auch nicht.
welches OS hast du den auf localhost und welches auf dem server? /blabla/Bla/blubb ist auf windows und macOS das gleiche wie /blabla/bla/blubb aber auf einen unix eben nicht.
Also mein Localhost habe ich mit XAMPP auf meinem Mac. Leider weiß ich nicht welches OS auf dem Server installiert ist. Wie soll ich das herausfinden und ggf. ändern?? Oder muss ich den Pfad über .htaccess ändern?
das wird zu 99.9% ein linux sein (hoffentlich ) schau mal ob auf dem server wirklich folgende datei exisitiert: ‚/Views/frontend/plugins/edelmetallkurse/index.tpl‘
dabei peinlich genau auf gross/kleinschreibung achten.
Hi bui_ak, danke für deine Antwort, aber habe die Pfade gefühlte 300mal geprüft. Die Stimmen! Auf meinem localhost gehts ja. Vielleicht eine andere Idee??