Drupal Views utiliser les données brut issues de la base de donnée

Dans cette article qui porte sur le module Views de Drupal, je vous propose une méthode permettant de récupérer directement les données renvoyés par la configuration d'une de vos vue.

La méthode décrite dans cette article vas vous permettre d'extraire des informations brut de la base de donnée de drupal à l'aide du module Views.
Cela vous évitera de devoir décrypter les nombreuses tables de drupal pour récupérer les informations que vous souhaitez.
Nous supposons donc que vous sachiez vous servir de l'interface utilisateur de ce module.

Partons du point de départ suivant, vous avez une vue nommé "mavue" qui récupère les noeuds selon certains critères. Vous avez défini les champs que vous désirez récupérer, par exemple "nid" et "title", et vous souhaiteriez récupérer les valeurs de ces champs sans template.

Voici notre solution:

  1. <?php
  2. $view = views_get_view('mavue'); //on récupère notre objet vue
  3. $view->render(); // on fait comme si l'on désirait afficher cette vue
  4. $fields = $view->style_plugin->rendered_fields; // on récupère les champs brut stockées dans l'objet vue

Notez que vous pouvez facilement renseigner des arguments supplémentaires pour la vue:

  1. <?php
  2. $view = views_get_view('mavue'); //on récupère notre objet vue
  3. $view->args[] = 2;
  4. $view->args[] = 5;
  5. $view->render(); // on fait comme si l'on désirait afficher cette vue
  6. $fields = $view->style_plugin->rendered_fields; // on récupère les champs brut stockées dans l'objet vue

Vous pouvez aussi renseigner la vue à rendre, dans le cas ou vous n'utiliser pas la vue par défaut.
  1. <?php
  2. $view = views_get_view('mavue'); //on récupère notre objet vue
  3. $view->args[] = 2;
  4. $view->args[] = 5;
  5. $view->render('block_1'); // on fait comme si l'on désirait afficher cette vue
  6. $fields = $view->style_plugin->rendered_fields; // on récupère les champs brut stockées dans l'objet vue

Grâce à cette méthode, nous pouvons créer des design plus compliqués en imbriquant les vues par exemple, et nous ne somme plus limité par les templates.