Renderizando View via programação

Vamos aprender como Renderizar uma View via programação no Template. Usando o hook_preprocess_page vamos executar nossa View e armazenar seu resultado em uma variável que será "printada" diretamente no page.tpl.php.
 
No meu exemplo, criei uma View com o nome de maquina "listagem_conteudo" e um display com o nome de maquina "attachment_lista". É uma View simples, que irá listar todos os conteúdos cadastrados no site.
 
 
 
 
Agora no meu modulo custom, vamos usar o hook_preprocess_page para chamar e executar nossa View.
 
Em views_get_view informe o nome de maquina da View.
Em set_display informe o nome de maquina do Display.
 
Em sequencia vamos armazenar o resultado da View em uma variável chamada lista. Essa variável será utilizada no template page.tpl.php
 
function hook_preprocess_page(&$vars) {

    $view = views_get_view('listagem_conteudo');
    $view->set_display('attachment_lista');
    $view->pre_execute();
    $view->execute();
    
    //Armazenando retorno da View
    $vars['lista'] = $view->render();
}
 
Agora no arquivo page.tpl.php vamos "printar" a variável lista.
 
 
Apenas isso e sua View será renderizada diretamente no page.tpl.php.
 
 
Caso sua View tenha algum Filtro Contextual, o código ficaria dessa forma: 
 
    $view = views_get_view('listagem_conteudo');
    $view->set_display('attachment_lista');
    //Informe o valor do Filtro Contextual
    $view->set_arguments(array($valor_filtro));
    $view->pre_execute();
    $view->execute();
    $vars['lista'] = $view->render();
 
 
Até o próximo Post! ;)