Olá, pessoal! Hoje vamos falar sobre um assunto recorrente. Quantas vezes já foi preciso relacionar uma view a determinado tipo de conteúdo para que, em todos os nodes desse tipo, fosse carregado uma view? No meu caso, várias vezes.
Para dar um exemplo prático disso, vou pegar a view de conteúdo relacionado que fiz em outro artigo e inseri-la abaixo de todo conteúdo que for do tipo “Artigo”.
O que vou fazer, na verdade, é bem simples. Também vou fazer de uma forma que não precisa trabalhar com blocos ou criar uma nova região no meu tema, aproveitando para colocar a view em um local mais apropriado, logo abaixo do conteúdo do artigo.
Vou aproveitar o tema que fiz nesse outro artigo para usar como exemplo neste.
A primeira coisa que vou fazer é criar um node–article.tpl.php dentro do meu tema. No meu caso, vou copiar o arquivo node.tpl.php do meu tema pai e renomeá-lo, seguindo a lógica do tema do outro artigo. Também é importante dizer que o “article” no nome do arquivo node–article.tpl.php é o nome de máquina do meu tipo de conteúdo “Artigo”, onde vou inserir a view.
Sabendo disso, vou inserir no meu node–article.tpl.php, abaixo de onde se encontra a variável $content:
<div class="related-content"> <?php print t('Related content'); print views_embed_view('related_content', 'block'); ??></div>
Só para entender, usei a função views_embed_view(), onde o primeiro parâmetro é o nome de máquina da view e o segundo, o id do display. Fácil, né?
Agora é só limpar todos os caches do Drupal e pronto! A view de conteúdo relacionado aparece logo abaixo de todo conteúdo do tipo “Artigo”.
Por hoje é isso! Qualquer coisa é só deixar um comentário.
***
Artigo original pode ser encontrado em: http://drupaldeelite.com.br/blog/como-inserir-uma-view-em-todos-os-nodes-de-um-determinado-tipo-de-conteudo-no-drupal-7