Crear plantillas personalizadas con drupal

David
24 Nov 2016

En ciertas ocasiones es necesario que nuestra página web tenga un aspecto diferente dependiendo del tipo de contenido que muestre.

Si no encontramos un módulo que responda con nuestras necesidades, es la hora de personalizar nuestro tema.

El primer paso es personalizar la plantilla que utilizará nuestro tipo de contenido, para ello modificamos el archivo template.php de nuestro tema.

Allí utilizaremos el hook_preprocess_page(&$vars) para modificar o insertar ciertas variables en la plantilla de la página.

En la variable $vars[node]->type encontramos el tipo de contenido.

Y en la variable $vars['theme_hook_suggestions'][ ] indicaremos que plantilla personalizada utilizaremos. Por ejemplo:

function venture_theme_preprocess_page(&$vars) {
  if (!empty($vars['node']) & arg(2)=='ver') {
    $vars['theme_hook_suggestions'][] = 'page__node_' . $vars['node']->type;
  }

}

En este caso los nodos del tipo /blog/1234/ver utilizarán la plantilla page--node-blog.tpl.php

Esta plantilla personalizada aparece en la carpeta templates de nuestra plantilla personal.

Lo ideal es hacer una copia de la plantilla html.tpl.php con el nombre page--node-blog.tpl.php y modificarla según nuestras necesidades.

Esperamos que estas sencillas notas os puedan servir en el diseño de vuestras páginas.