Respostas:
Você não precisa criar um módulo. Você pode usar os Widgets no Magento 1.4+:
Clique em CMS> Widgets:
Clique em "Adicionar uma nova instância de widget":
Selecione "Bloco estático do CMS" e o nome do seu tema:
Em "propriedades do front-end", dê um título a ele e clique em "Adicionar atualização de layout" e configure-o como mostrado para exibir somente na página inicial no bloco de conteúdo principal:
Em Opções do widget, selecione o bloco estático que você deseja exibir:
Criar local.xml
emapp/design/frontend/your package/your template/layout/
E coloque o código
<?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>
Tente isso, sempre funciona
<reference name="after_body_start">
<block type="core/template" name="block_name" template="template/template.phtml" />
</reference>
Aqui está uma maneira muito rápida de fazer isso ...
Crie um módulo:
<?xml version="1.0"?>
<config>
<modules>
<Namespace_PageLayout>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Page/>
</depends>
</Namespace_PageLayout>
</modules>
</config>
Em seguida, adicione o seguinte ao seu arquivo de configuração
<?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>
E na sua pasta de temas app / design / frontend / YOURTHEME / default / template / page / 1column-home.phtml
Adicione isso:
<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>
Então, no seu administrador do Magento, crie um bloco estático chamado 'custom_block' ou qualquer outra coisa e adicione-o ao 1column-home.phtml após o cabeçalho:
<?php echo $this->getChildHtml('header') ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('custom_block')->toHtml(); ?>
Adicione conteúdo ao bloco estático e selecione o novo layout da página inicial na guia Design nas páginas do CMS ...