Hallo, gibt es eine Möglichkeit ein gekauftes Community Plugin updatesicher zu ergänzen bzw. zu verändern ähnlich wie bei den Template Blöcken mit Smarty? Das gekaufte Template liegt ja unter “engine/Shopware/Plugins/Community/Frontend…” Wie lege ich das zum Vererben in mein Template?
Wenn das Plugin sein eigenes Template richtig anbindet, dann geht das sehr einfach. Beispiel: das Plugin hat seine Templates unter /<path_to_showpare>/engine/Shopware/Plugins/Community/Frontend/WcomMiniBasket/Views/[color=red]frontend/plugins/wk_mini_basket/template/miniBasket.tpl[/color]
Dann sollte man im eigenen Template (also etwa /templates/emotion_mybesttemplate/frontend/) eine Datei mit dem Name miniBasket.tpl unter /templates/emotion_mytemplate/[color=red]frontend/plugins/wk_mini_basket/template/miniBasket.tpl[/color]
Rot habe ich die Pfade markiert, die gleich sein müssen. Dann klappt es.</path_to_showpare>
Aber funktioniert das auch mit gekauften Templates? Da habe ich ja kein eigenes Template im Template-Ordner. Ich Backend wähle ich doch entweder das Template vom Plugin, oder ein Template aus dem Template-Ordner. Wenn ich nun Teile Template vom Plugin-Template überschreiben will, kann ich das doch höchstens im _emotion_local Ordner machen, oder? Getestet habe ich das noch nicht, alles nur Vermutungen. Gruß Marco
Hey, interessantes Thema =). Habe ich selbst so noch nicht probiert. Ich würde mir dafür glaube ich einfach ein Plugin schreiben. Hier registrierst du dir einfach das Event “Enlight_Controller_Action_PostDispatchSecure_Frontend”. Dadurch bekommst du jeden Request abgefangen, der sauber durchgelaufen ist und ein Template geladen hat (diese Standard Abfragen: “$view->hasTemplate, $response->hasException, …” brauchst du bei diesem Event nicht). Dann fügst du einfach dein eigenes Template Verzeichnis hinzu: $view->addTemplateDir($this->Path() . ‘Views/’); Sollte auch dieser Weg nicht so funktionieren wie du dir das vorgestellt hast, würde ich die einzelnen Bereiche abfangen… Sprich wenn du das Listing erweitern willst, einfach das Event “Enlight_Controller_Action_PostDispatchSecure_Frontend_Listing” registrieren und deine Templateerweiterung laden. Gruß Oliver
vielen Dank für die Hilfe…