j'ai besoin d'afficher quelques liens supplémentaires en bas de page. J'ai créé ces liens dans magento admin sous forme de blocs statiques (id = liens_exemples).
et puis j'ai ajouté le fichier de code page.xml suivant
<reference name="foot_lnk">
<block type="cms/block" name="sample_block" before="-">
<action method="setBlockId"><block_id>sample_links</block_id></action>
</block>
</reference>
j'ai appelé celui-ci dans footer.phtml en tant que,
<?php echo $this->getChildHtml('foot_lnk') ?>
mais il n'affiche pas le contenu du bloc statique du CMS. quelle est la solution?.
La référence est le bloc précédemment défini dans lequel vous voulez que votre bloc soit à l'intérieur, par exemple:
<reference name="footer">
<block type="cms/block" name="sample_links">
<action method="setBlockId"><block_id>sample_links</block_id></action>
</block>
</reference>
Ensuite
<?php echo $this->getChildHtml('sample_links') ?>
$this->getLayout()->createBlock('cms/block')->setBlockId('my_static_block_name')->toHtml()
Vous pouvez appeler un bloc statick comme:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('your_identifier')->toHtml() ?>
Et appelez un bloc comme:
<?php echo $this->getLayout()->createBlock('sidebar/left')->setTemplate('bannerslider/left.phtml')->tohtml(); ?>
Visitez magevn.com pour voir plus de cas d'utilisation pour utiliser le bloc dans magento.
Si vous ne voulez pas vous soucier de XML, comme pour la réponse de swapnesh, je clarifie les choses pour les noobs php (comme moi)
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('your_identifier')->toHtml() ?>
votre_identifiant est le code que vous décidez d'utiliser lors de la création de votre bloc dans CMS> Blocs> Créer un nouveau bloc, deuxième ligne intitulée "Identifiant"
remplacez votre nom de référence par footer
comme
<reference name="footer">
alors ça va marcher.