Hallo, wir sind dabei ein Backend-Plugin zu schreiben, welches unter anderem auch im Frontend in den Bestellvorgang eingreifen soll. Genauer: Wir wollen bei der Gutscheineingabe ein weiteres Eingabefeld hinzufügen. Wir haben das Conexco Responsive Template (CRT) installiert und haben die Vermutung, dass die Änderung seitens unseres Plugins vom CRT überschrieben wird, beziehungsweise zunichte gemacht wird. Hier ein Auszug aus unserer Bootstrap.php: /\*\* \* Registers all necessary events. \*/ private function registerEvents() { ... $this-\>subscribeEvent( Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Checkout', onFrontendCheckoutPostDispatch' ); ... } ... public function onFrontendCheckoutPostDispatch(Enlight\_Event\_EventArgs $arguments) { $controller = $arguments-\>getSubject(); $request = $controller-\>Request(); $response = $controller-\>Response(); $view = $controller-\>View(); if (!$request-\>isDispatched() || $response-\>isException() || !$view-\>hasTemplate()) { return; } $view-\>addTemplateDir($this-\>Path() . 'Views/'); $view-\>extendsTemplate('frontend/checkout/cart\_footer\_left.tpl'); }
Unsere Template-Datei: // Plugins/Local/Backend/"Unser Plugin-Name"/Views/frontend/checkout/cart\_footer\_left.tpl {extends file='parent:frontend/checkout/cart\_footer\_left.tpl'} {block name='frontend\_checkout\_table\_footer\_left\_add\_article' append} Dies ist ein Test! {/block}
Im CRT steht in der vermutlich(?) relevanten Template-Datei folgendes: [code]
{block name=‚frontend_checkout_table_footer_left_add_voucher‘}
{block name=„frontend_checkout_table_footer_left_voucher_form_action“}{/block}
{s name=‚CheckoutFooterActionAddVoucher‘}{/s}
{/block}
{* Add article with order number *} {block name=‚frontend_checkout_table_footer_left_add_article‘}
{block name=„frontend_checkout_table_footer_left_article_form_action“}{/block}
{s name=‚CheckoutFooterActionAdd‘}{/s}
{/block}
{block name=‚frontend_checkout_table_footer_left_add_article‘}{/block} [/code] Das Ergebnis sieht wie folgt aus: Wenn wir die relevante Stelle in unserem Code auskommentieren verschwindet auch das rot markierte Element. Was machen wir falsch? Oder grundsätzlich gefragt, kann man die Reihenfolge der Plugins beeinflussen, sodass unseres zuletzt eingebunden wird?