Hallo Shopware Community,
derzeit bin Ich an einem Plugin dran, welches nach einer Theme kompilierung nicht mehr angezeigt wird.
Wenn der Cache geleert wird und man danach die betroffen Seite im Shopware Frontend anschaut, wird das Plugin angezeigt.
Wenn nun das Theme kompiliert wird, verschwindet es.
Folgender Code steht in der php-Datei des Plugins:
public static function getSubscribedEvents()
{
return [
'Enlight_Controller_Action_PostDispatch' => 'onPostDispatchDetail'
];
}
public function onPostDispatchDetail(\Enlight_Event_EventArgs $arguments)
{
$subject = $arguments->getSubject();
$request = $subject->Request();
$response = $subject->Response();
$action = $request->getActionName();
$view = $subject->View();
$view->addTemplateDir( __DIR__. '/Views');
$view->extendsTemplate('frontend/listing/product-box/box-basic_extension.tpl');
$view->assign("tbe_csiw_buttoncolor", Shopware()->Config()->getByNamespace('xxx', 'buttoncolor'));
$view->assign("tbe_csiw_buttoncolor_end", Shopware()->Config()->getByNamespace('xxx', 'buttoncolor_end'));
}
Das dazugehörige Template sieht folgendermaßen aus:
{extends file='parent:frontend/listing/product-box/box-basic.tpl'}
{block name="frontend_index_header_css_screen"}
{$smarty.block.parent}
{if $theme.asyncJavascriptLoading}
var tbe_is_async_js = true;
{else}
var tbe_is_async_js = false;
{/if}
{/block}
{block name="frontend_index_header_javascript_jquery"}
{$smarty.block.parent}
{/block}
{block name='frontend_listing_box_article_actions'}
{$smarty.block.parent}
{if $sliderInitOnEvent == "onShowContent-related"}
{if $Controller == "detail" && $sAction == "index"}
Test
{/if}
{/if}
{/block}
{block name='frontend_listing_box_article_price_info'}
{$smarty.block.parent}
{if $sliderInitOnEvent == "onShowContent-related"}
{if $Controller == "detail" && $sAction == "index"}
{if $sArticle.prices|@count gt 1}
Menge
Stückpreis
Grundpreis
{foreach $sArticle.prices as $blockPrice}
{block name="frontend_detail_data_block_prices_table_body_row"}
{block name="frontend_detail_data_block_prices_table_body_cell_quantity"}
Test
{/block}
{block name="frontend_detail_data_block_prices_table_body_cell_price"}
Test
{/block}
{block name="frontend_detail_data_block_prices_table_body_cell_reference_price"}
Test
{/block}
{/block}
{/foreach}
{/if}
{/if}
{/if}
{/block}
Die Blöcke “frontend_index_header_css_screen” und “frontend_index_header_javascript_jquery” des Templates werden geladen.
Aber der Block “frontend_listing_box_article_price_info” wird nicht angezeigt.
Hat dazu vielleicht jemand eine Idee?
Mit freundlichen Grüßen,
Rene Albers