Cursos Magento

Passando valores para blocos via Layout XML

,

03 de julho de 2018

No Magento 1 falamos exaustivamente sobre Layout XML aqui no Magenteiro. Tivemos até Master Class sobre o assunto. No Magento 2 eles continuam aí, a todo vapor, nos dando toda liberdade para brincar e modificar páginas e temas com extrema flexibilidade.

Tanto no Magento 1 como no Magento 2, variáveis passadas dentro do elemento $_data de uma classe pode ser recuperado com o método mágico ->get seguido da variável. O mesmo vale para blocos em páginas html.

Como sabemos, as páginas da nossa loja são compostas por blocos (blocks). Os blocks por sua vez são formados por uma classe PHP e um arquivo de template PHTML. De forma geral, os blocos são inseridos e organizados nas páginas através de arquivos de layout XML.

Dentro do arquivo de template podemos acessar a classe PHP de nosso bloco através da variável $block (ou $this no Magento 1).

Veja no exemplo abaixo como podemos passar um valor para o nosso bloco usando apenas instruções XML:

Note o argumento teste sendo passado como parâmetro para o nosso bloco.
Caso ainda não esteja familiarizado(a) com Magento 2, note que o handle de layout agora é especificado no próprio arquivo catalog_product_view. Desta forma, o elemento só terá o valor declarado quando exibido na página de produto. Note também que os blocos estruturais que vimos no curso de front end agora são representados por contâiners (linha 5).

Veja como recuperar o valor da variável dentro do arquivo de template phtml:

Com isso nosso Hello World será exibido.

Quer saber mais sobre desenvolvimento para Magento 2? Confira o curso de Magento 2 do Magenteiro.

Veja mais sobre layouts também na documentação oficial (em Inglês).

Ricardo Martins

Desenvolvedor web há mais de 15 anos, desde 2011 totalmente especializado em Magento, ajudo na criação de conteúdo, e cursos online sobre Magento - hoje com mais de 7000 alunos de 97 países - e criador do módulo PagSeguro Transparente para Magento, usado em mais de 12 mil lojas.

Últimos posts por Ricardo Martins (exibir todos)

Assuntos: | |
Comentários