Réponses:
Vous n'avez pas du tout besoin de créer un module. Vous pouvez utiliser des widgets dans Magento 1.4+:
Cliquez sur CMS> Widgets:
Cliquez sur "Ajouter une nouvelle instance de widget":
Sélectionnez "CMS Static Block" et le nom de votre thème:
Ensuite, sous «propriétés frontales», donnez-lui un titre et cliquez sur «Ajouter la mise à jour de la mise en page», et configurez-le comme indiqué pour qu'il s'affiche uniquement sur la page d'accueil dans le bloc de contenu principal:
Sous Options du widget, sélectionnez le bloc statique que vous souhaitez afficher:
Créer local.xml
sousapp/design/frontend/your package/your template/layout/
Et mettez le code
<?xml version="1.0"?>
<layout version="0.1.0">
<cms_index_index>
<reference name="root">
<block type="core/template" name="my.vblock" before="content" template="page/home/myblock.phtml" after="breadcrumbs" />
</reference>
</cms_index_index>
</layout>
Essayez ça, ça marche toujours
<reference name="after_body_start">
<block type="core/template" name="block_name" template="template/template.phtml" />
</reference>
Voici un moyen très rapide de le faire ...
Créez un module:
<?xml version="1.0"?>
<config>
<modules>
<Namespace_PageLayout>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Page/>
</depends>
</Namespace_PageLayout>
</modules>
</config>
Ajoutez ensuite ce qui suit à votre fichier de configuration
<?xml version="1.0"?>
<config>
<modules>
<Namespace_PageLayout>
<version>0.1.0</version>
</Namespace_PageLayout>
</modules>
<global>
<page>
<layouts>
<homepage_layout translate="label">
<label>Homepage Layout</label>
<template>page/1column-home.phtml</template>
</homepage_layout>
</layouts>
</page>
</global>
</config>
Et dans votre dossier de thème app / design / frontend / YOURTHEME / default / template / page / 1column-home.phtml
Ajoute ça:
<head>
<?php echo $this->getChildHtml('head') ?>
</head>
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
<?php echo $this->getChildHtml('after_body_start') ?>
<div class="wrapper">
<?php echo $this->getChildHtml('global_notices') ?>
<div class="page">
<?php echo $this->getChildHtml('header') ?>
**<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('custom_block')->toHtml(); ?>**
<div class="main-container col1-layout cms-home">
<div class="main">
<?php echo $this->getChildHtml('breadcrumbs') ?>
<div class="col-main">
<?php echo $this->getChildHtml('global_messages') ?>
<?php echo $this->getChildHtml('content') ?>
</div>
</div>
</div>
<?php echo $this->getChildHtml('footer_before') ?>
<?php echo $this->getChildHtml('footer') ?>
<?php echo $this->getChildHtml('global_cookie_notice') ?>
<?php echo $this->getChildHtml('before_body_end') ?>
</div>
</div>
<?php echo $this->getAbsoluteFooter() ?>
</body>
</html>
Ensuite, dans votre administrateur Magento, créez un bloc statique appelé 'custom_block' ou autre chose et ajoutez-le à 1column-home.phtml après l'en-tête:
<?php echo $this->getChildHtml('header') ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('custom_block')->toHtml(); ?>
Assurez-vous d'ajouter du contenu au bloc statique et sélectionnez votre nouvelle disposition de page d'accueil dans l'onglet de conception des pages CMS ...