Hallo liebe ShopWare Community, ich bin gerade dabei mich in ShopWare einzuarbeiten. Bei dem Tutorial: Plugins mit Shopware stoße ich allerdings auf ein Error, den ich nicht beheben kann: Fatal error: Call to undefined method Zend\_Locale::getId() in /Applications/MAMP/htdocs/shopware/engine/Shopware/Plugins/Community/Backend/SnippetTextFile/Bootstrap.php on line 36
Dieser wird durch folgenden Code hervorgerufen: $locale = Shopware()-\>Locale()-\>getId();
Das Problem dabei ist, dass Shopware()->Locale() ein Zend_Locale object zurückliefert, wobei das Tutorial von einem Enlight_Components_Locale ausgeht, das von Zend_Local erbt. Hat jemand eine Idee wie ich an die entsprechende Enlight_Components_Locale komme? Freundliche Grüße, Philipp Edit: Es handelt sich um eine frische ShopWare 4 Installation, sowie um die Beispieldateien, die zum Download angeboten werden.
Hallo pwoerdehoff, das Plugin ist nicht für Shopware 4 geeignet. Daher kommt vermutlich der Fehler. Alle Plugins, die hier aufgelistet sind, sollten mit Shopware 4 kompatibel sein. Hilft dir das weiter? Gruß, Patrick :shopware:
Hey Patrick, das Tutorial wurde in Entwicklung von Backend-Modulen, welches sich in der Liste befindet, als „Einstieg“ empfohlen. Es kann ja sein das es nicht funktioniert, ich verstehe nur nicht, weshalb der Fehler an dieser Stelle auftritt. Das Plugin Auth z.B. verwendet auch Locale und in dem Fall von Auth, wird Enlight_Components_Locale zurückgeliefert. Der Aufruf sieht hier auch ein wenig anders aus, funktioniert bei mir im Tutorial aber auch nicht Das Auth Plugin ist unter /engine/Shopware/Plugins/Default/Backend/Auth/Bootstrap.php zu finden…
Shopware()-\>Shop()-\>getLocale()-\>getId()
Müsste eigentlich klappen - die aktuelle Sprache (= Locale) kann also über das Shop-Objekt abgefragt werden.
Hey Stefan, vielen Dank für deine Antwort. Der Code funktioniert super bei mir! :thumbup: