En algunas ocasiones necesitamos que algunas páginas tengan una estructura y diseño diferente al resto de páginas. Drupal nos permite hacerlo creando para ello, otros archivos page.tpl.php. Al hacerlo modificaremos toda la estructura completa como lo hace el archivo page.tpl.php. Si solo deseamos cambiar el área de contenido, lo que tenemos que hacer es usar achivos node.tpl.php diferentes.
PAGE EN EL FRONT-PAGE
Si queremos que la página de inicio tenga una estructura y diseño diferente, podemos crear un archivo llamado page-front.tpl.php con el diseño para la página de inicio, y este diseño será reconocido automáticamente cuando se encuentre en el front page.
PAGE PARA UN NODO EN PARTICULAR
Para ello hay que crear el page-node-1.tpl.php donde 1 es el id del nodo y colocar el nuevo layout en este archivo. Además hay que hacer una modificación en nuestro archivo template.php de nuestro tema. Si no tenemos un archivo template.php en nuestro tema, creamos uno. En la función preprocess, agregamos las siguientes líneas de código.
function mitema_preprocess_page(&$vars){
// Add per content type pages
if(isset($vars['node'])){
$vars['template_files'][] = 'page-node-'. $vars['node']->nid;
}
}
PAGE PARA UN TIPO DE NODO
Se crea un archivo page-tipo.tpl.php, donde tipo se reemplaza por el nombre del tipo de nodo. Por ejmplo si tenemos un tipo de nodo llamado noticia, el nombre de nuestro archivo sería page-noticia.tpl.php. Al igual que para un nodo particular necesitamos agregar unas líneas de código.
function mitema_preprocess_page(&$vars){
// Add per content type pages
if(isset($vars['node'])){
$vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type);
}
}
Como vemos la diferencia, con un nodo particular es de solo una línea. Si necesitamos ambos, tanto cambiar el page de acuerdo al id del nodo, como al tipo de nodo, incluimos ambas líneas que son diferentes y el resto se mantiene igual.
DE ACUERDO AL PATH
Usar el path dentro del nombre del archivo page-user.tpl.php, pondrá este template acualquier ruta que tenga user/algo
SOLO PARA UN USUARIO
Se puede usar el archivo page-user-1.tpl.php, donde 1 es el id del usuario.