Inserir um bloco estático via XML é muito fácil, mas tem algumas manhas que acabam passando despercebidas.

Neste artigo eu mostro como inserir um bloco estático em qualquer lugar do site.

Para este exemplo eu usei o arquivo local.xml, se não sabe do que estou falando veja este artigo: local.xml em 5 passos.

Ele também pode ser colocado dentro de lugares específicos para XML do frontend, como por exemplo, na Box atualização de layout por XML que fica no menu layout, design ou visual (depende da sua tradução) nas páginas CMS.

O código básico para inserir um bloco estático via XML é este:

<block type="cms/block" name=“nome_do_bloco” as=“nome_do_bloco” >
    <action method="setBlockId"><block_id>identivicador_bo_bloco_estatico</block_id></action>
</block>

Agora você precisa saber onde pretende colocar este código. Por exemplo, digamos que queira colocar na lateral esquerda encima de todos os outros intens:

<default>
    <reference name=”left”>
    <block type="cms/block" name=“nome_do_bloco” as=“nome_do_bloco” before=”” >
        <action method="setBlockId"><block_id>identivicador_bo_bloco_estatico</block_id></action>
    </block>
    </reference>
</default>

A propriedade before diz ao sistema que o conteúdo deve ser posto antes de tal item, caso não coloque nada ele será o primeiro item.
Agora se eu quiser colocar por ultimo?

<default>
    <reference name=”left”>
        <block type="cms/block" name=“nome_do_bloco” as=“nome_do_bloco” after=”” >
            <action method="setBlockId"><block_id>identivicador_bo_bloco_estatico</block_id></action>
        </block>
    </reference>
</default>

A propriedade after funciona da mesma forma que before, sendo que ele insere o conteúdo por último.

E caso queira que ao invez de aparecer em todas as páginas você queria somente nas paginas de catálogo?

Para isso vai tirar do nó <default> e colocar, por exemplo, em <catalog_category_layered>, isso faz com que o bloco só apareça nas páginas de catálogo.

Ficaria assim:

<catalog_category_layered>
    <reference name=”left”>
        <block type="cms/block" name=“nome_do_bloco” as=“nome_do_bloco” after=”” >
            <action method="setBlockId"><block_id>identivicador_bo_bloco_estatico</block_id></action>
        </block>
    </reference>
</catalog_category_layered>

Pronto! Agora você já sabe como colocar um bloco estático em qualquer lugar do site somente alterando um arquivo XML. Pesquise a pasta do Magento app/design/frontend/base/default/layout e confira as imensas possibilidades que agora tem com este recurso. Agora ficou mais fácil? Então até a próxima.

Um abraço

Este conteúdo foi interessante? inscreva-se pelo botão abaixo para receber tudo que falo sobre Magento
[egoi-magento]