Drupal : J'insère une vue dans un template (tpl.php) mais les scripts ne fonctionnent plus.
Le code d'origine serait quelque chose du genre, situé par exemple dans un fichier page-node-popup.tpl.php:
<?php
print views_embed_view('gallery_popup', 'default', arg(1));
?>
Ceci affiche la vue gallery_popup, le display default avec comme argument le nid (http://url.com/node/24 serait 24) pour afficher la galerie correspondant au noeud courant.
Ceci fonctionne presque : on obtient des erreurs lors de la lecture des javascript (drupal_get_js()). Voici la solution proposée par le créateur de views himself :
Rajouter ça dans le fichier template.php dans la fonction theme_preprocess_page:
$vars['view_gallery'] = views_embed_view('gallery_popup','default', arg(1));
$vars['scripts'] = drupal_get_js();
return $vars;
Ce qui permettra d'utiliser la variable $view_gallery directement dans le page-node-popup.tpl.php.