Blocos estáticos fazem parte do gerenciamento de páginas e conteúdo do Magento. Um módulo especializado na criação de pequenos “pedaços” de páginas. Como por exemplo: banners, links, informações de pagamento, selos, plugins de mídias sociais, etc.
O interessante é que apesar do nome ser “Bloco Estático”, o conteúdo não será necessariamente estático. Pois podem ser inseridos widget’s ou chamadas externas para outros arquivos que possuem conteúdo dinâmico.
O post Páginas em CMS possui uma explicação muito complementar à esta, sugiro que leiam também.
Criando o bloco
Para criar um bloco de conteúdo acesse:
CMS > Blocos Estáticos [+ Criar Bloco]
Preencha os seguintes campos:
Título – Um título que identifique o bloco internamente, para controle no backend – mas também pode ser usado no frontend.
Identificador – O código ID do bloco, que será usado como referência na chamada deste bloco.
Visão – Caso você tenha várias visões de loja, pode indicar quais visões tem permissão para exibir o código.
Status – Se o bloco está habilitado ou não no sistema.
Conteúdo – Aqui você cria o conteúdo citado no início do post (banners, telefones, avisos, selos, etc). E também pode inserir widget’s e invocar outros arquivos.
Assim que você salvar este bloco, pode fazer a chamada deste em diversos locais.
Carregando o bloco
O bloco pode ser carregado de diversas formas, uma delas é via widget. Veja o post Widgets – Plugando Janelas.
No gerenciamento de páginas, um bloco estático pode ser carregado via widget usando o comando:
{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="1"}}
Nesse caso foi informado o ID do bloco que será apresentado na página. Outra maneira de chamar o bloco pelo conteúdo, ainda mais simples seria:
{{block id="aqui_nome_do_block"}}
Ainda no gerenciamento de páginas (ou produtos), na parte “Visual” onde você pode adicionar ou remover blocos em XML, poderia ser usado:
aqui_nome_do_block
Esse mesmo código vale para arquivos em XML que fazem parte do seu leiaute.
No gerenciamento de categorias você pode inserir um bloco estático facilmente, usando a aba “Display Settings“.
Agora se você quer carregar um bloco diretamente pelo phtml, sem que ele seja referenciado no XML, vai precisar usar o código:
load('aqui_nome_do_block'); echo $block->getTitle(); echo $block->getContent(); ?>
E dessa forma podemos incluir blocos estáticos de forma dinâmica por todo template, tornando assim seus temas mais poderosos e personalizados. “Free your mind!”
Sucesso!