2010-06-22 19 views
11

Sto usando Magento Enterprise Edition. Include un widget per i banner, che voglio utilizzare all'interno del mio modello, piuttosto che all'interno di un blocco di contenuti gestito da CMS. Sono riuscito a generare l'output dall'interno di un blocco di contenuti:Magento: come posso inserire i widget in un layout xml?

{{widget type="enterprise_banner/widget_banner" display_mode="fixed" rotate="series" banner_ids="4" template="banner/widget/block.phtml" unique_id="744a56c9a042cc9fa166163c12d869d9"}} 

Abbastanza semplice. Quindi all'interno del mio layout xml, ho provato questo:

<block type="enterprise_banner/widget_banner" name="hero_banners" as="hero_banners" display_mode="fixed" rotate="series" banner_ids="4" template="banner/widget/block.phtml" unique_id="744a56c9a042cc9fa166163c12d869d9" /> 

Stessi parametri; Ho appena aggiunto il nome e come. E poi, all'interno del mio modello ...

<?php echo $this->getChildHtml('hero_banners'); ?> 

Ma non ottengo output. Il profiler rileva che il blocco hero_banners è caricato, ma il suo file modello (banner/widget/block.phtml) non viene mai eseguito.

Qualcuno sa cosa sto facendo male?

-P

risposta

19

Risulta ma non inseriva alcun dato significativo perché non riceveva suoi parametri. Ha bisogno di parametri non standard da impostare tramite action tag:

<block type="enterprise_banner/widget_banner" name="hero_banners" as="hero_banners" template="banner/widget/hero.phtml"> 
    <action method="setDisplayMode"><value>fixed</value></action> 
    <action method="setBannerIds"><value>4</value></action> 
</block> 
+1

Questo sembra solo opere (almeno in 1.6.2) se il blocco widget è un bambino di un blocco nucleo/text_list, mettendo un widget come questo direttamente nel blocco principale non sembra rendering. – benz001

2

Dal momento che l'argomento è già stato risolto, ho una soluzione fuori tema

Questo potrebbe essere impostato come un blocco all'interno di un file .phtml se necessario.

<?php echo $this->getLayout()->createBlock('enterprise_banner/widget_banner')->setBannerIds('4')->setDisplayMode('fixed')->setTemplate('banner/widget/block.phtml')->toHtml(); ?> 
Problemi correlati