Dans mon exemple, je souhaite ajouter sur la page d’accueil de mon site une zone entre le Header et le Main pour y glisser un slider donc le code se trouve dans app/design/frontend/package/theme/template/page/html/home_slider.phtml
.
Etape #1: ajouter un slot (emplacement) dans page.xml
Dans le fichier app/design/frontend/package/theme/template/layout/page.xml
repérer le gabarit de page dans lequel vous souhaitez ajouter une zone:
1 2 3 4 5 |
<default translate="label" module="page"> <label>All Pages</label> <block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml"> </block> </default> |
…et ajoutez-y ceci pour créer l’emplacement home_slider_area
:
1 2 3 |
<block type="core/text_list" name="home_slider_area" as="home_slider_area" translate="label"> <label>Home Slider Area</label> </block> |
Note pour moi-même: ici, je crée une zone (soit-disant) dans le gabarit 2columns-left.phtml
, mais j’édite plus tard le gabarit 1column.phtml
et ça fonctionne quand-même…
Etape #2: ajouter le bloc PHTML du slider en page d’accueil, dans le slot que j’ai créé précédemment
Dans le fichier app\design\frontend\package\theme\layout\local.xml
, ajouter ceci:
1 2 3 4 5 6 |
<cms_index_index translate="label"> <label>CMS Home Page</label> <reference name="home_slider_area"> <block type="core/template" name="home_slider" template="page/html/home_slider.phtml" /> </reference> </cms_index_index> |
Etape #3:
Dans app\design\frontend\package\theme\template\page\1column.phtml
ajouter la ligne suivante:
1 |
<?php echo $this->getChildHtml('home_slider_area') ?> |