Pasar al contenido principal

Agregar vistas en código en distintos ficheros para mejorar legibilidad

En ocasiones, es más práctico tener las vistas en ficheros separados para mejorar su legibilidad así como para tenerlo todo más ordenado en git. No debería de ser un gran problema de rendimiento localizar este fichero ya que queda cacheado.

Declaramos a views nuestra intención de utilizar su api:

Fichero: mymodule.module

/**
 * Implementation of hook_views_api().
 */
function mymodule_views_api() {
  return array(
    'api' => 3,
    'path' => drupal_get_path('module', 'mymodule') . '/views',
  );
}

Snipet para que de forma automática coja todas las vistas en la carpeta mymodule/views que terminen en *.view.inc

Fichero: views/mymodule.views_default.inc

/**
 * Implements hook_views_default_views().
 */
function mymodule_views_default_views() {
  // @NOTE: Load All views!
  $files = file_scan_directory(
    drupal_get_path('module', 'mymodule') . '/views',
    '/.*\.view.inc$/');
 
  foreach ($files as $file) {
    $view = NULL;
    // Including the view file definition:
    require $file->filename;
    if (!empty($view)) {
      $views[$view->name] = $view;
    }
  }
 
  return $views;
}

 

Jorge Tutor

Jorge Tutor

CIO