2012-05-18 7 views
8

ho bisogno di visualizzare alcuni più collegamenti nel piè di pagina. Ho creato questi collegamenti nell'amministratore di Magento come blocchi statici (id = sample_links).Come chiamare il blocco Magento nel template phtml?

e poi ho aggiunto seguente file di codice page.xml

<reference name="foot_lnk"> 
<block type="cms/block" name="sample_block" before="-"> 
     <action method="setBlockId"><block_id>sample_links</block_id></action> 
    </block> 
</reference> 

ho chiamato questo in footer.phtml come,

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

ma non visualizza il contenuto di blocco statico CMS. qual'è il problema?.

risposta

12

il riferimento è il blocco definito in precedenza che si desidera che il blocco sia all'interno, per esempio:

<reference name="footer"> 
    <block type="cms/block" name="sample_links"> 
    <action method="setBlockId"><block_id>sample_links</block_id></action> 
    </block> 
</reference> 

Poi

<?php echo $this->getChildHtml('sample_links') ?> 
+0

funziona grazie. già ho collegamenti footer predefiniti nel tag . ho aggiunto codici a blocco sample_links con in esso. –

14
$this->getLayout()->createBlock('cms/block')->setBlockId('my_static_block_name')->toHtml() 
+0

sì ho usato sopra uno sta funzionando. ma ho bisogno di visualizzare usando XML come sopra. –

3

Se non si vuole perdere tempo con XML , come la risposta di swapnesh, sto solo rendendo più chiaro il php noobs là fuori (come me)

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('your_identifier')->toHtml() ?> 

your_identifier è il codice che si decide di utilizzare durante la creazione del blocco in CMS> Blocchi> Crea nuovo blocco, seconda linea denominata "Identifier"

+0

Bene, dovresti aver modificato la sua risposta per aggiungere precisioni, quindi, invece di postarne una quasi identica. – Lysarion

7

è possibile chiamare un blocco Statick come:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('your_identifier')->toHtml() ?> 

E chiamare un blocco simile:

<?php echo $this->getLayout()->createBlock('sidebar/left')->setTemplate('bannerslider/left.phtml')->tohtml(); ?> 

Visita magevn.com vedere più caso d'uso da utilizzare in blocco Magento.

+1

risposta più completa, grazie per le informazioni aggiunte, rende una ricerca su google molto più completa :) –

0

cambiare il nome di riferimento per footer

come

<reference name="footer"> 

allora funzionerà.