Crie um novo bloco no Magento

Perguntei esta questão ontem Bloqueio estático na página inicial no Magento , que respondeu minha pergunta sobre engatar um cms / bloco para um bloco existente (conteúdo, nesse exemplo).

Mas agora eu gostaria de saber como criar meu próprio bloco.

Eu tenho isso no meu modelo .phtml:

getChildHtml('home_flash') ?> 

E isso no meu arquivo cms.xml

   home-page-flash   

Mas isto não está funcionando.

Eu também tentei criar meu próprio tipo de bloco, (copiando a declaração do breadcrumbs) no arquivo page.xml:

  

Esse arquivo existe, mas não está sendo processado.

No entanto, quando eu referir o bloco como este:

  

Ele faz meu modelo de bloco de casa, mas o cms / bloco original não está vinculado a ele.

Espero que todos os diferentes casos mostrem o que está acontecendo e destaque a lacuna no meu conhecimento bem o suficiente para alguém responder, eu tenho que “registrar” meu novo “home_block” em algum lugar?

Existem muitos blocos diferentes disponíveis que você pode usar sem criar o seu próprio. Neste caso, acho que o core/text_list seria adequado porque não requer um modelo e pode ter tantos blocos infantis dentro dele como você precisa.

 < ?xml version="1.0"?>      home-page-flash       

Outros tipos de blocos úteis que valem a pena são de core/text e core/template que correspondem a Mage_Core_Block_Text e Mage_Core_Block_Template respectivamente. Eles se usam mais.
Seu tipo de page/html_home_block não possui nenhuma class de PHP com um nome correspondente, e se você criasse o seu próprio nome, você não poderá usar o prefixo da page já que o Magento já faz.

Para criar um bloco, você só precisa de uma marca no arquivo de layout.
Para criar um tipo de bloco, você precisa escrever uma class PHP, dar-lhe um espaço para nome e declará-lo como parte de um módulo.
Para adicionar a um bloco existente é o momento em que você usa uma marca .

Existem muitos artigos finos na Magento Knowledge Base, incluindo alguns sobre Theming & Design .