Temas y plantillas

La última capa de Drupal la forman los temas ( themes ) y son los principales responsables de la apariencia gráfica o estilo con que se mostrará la información al usuario.

Como ya se ha citado en apartados anteriores, el uso de temas posibilita la separación entre información y aspecto gráfico permitiendo cambiar el diseño u apariencia sin necesidad de modificar los contenidos ni el código, lo que es muy práctico si lo único que queremos es renovar la apariencia de una web. Otra ventaja de esta separación es que podemos actualizar el núcleo de Drupal sin perder el diseño del sitio web, algo que no ocurriría si el diseño se encontrará integrado en el propio núcleo o código de Drupal.

La misma página mostrada con diferentes temas

Así, en el momento que Drupal dispone de la información a de mostrar, se la pasa al motor de temas para que decida la apariencia que debe darle. Para ello, el motor de temas hace uso de la información del tema activo, que se compone de diferentes ficheros CSS, HTML o PHP. Copiando en nueva carpeta y modificando estos ficheros podremos crear nuestros temas, aunque lo más recomendable es descargar alguno de los muchos temas que se encuentran disponibles en Internet ( consultar apartado de instalación de módulos y temas ).

Si echamos una ojeada al contenido de la carpeta de un tema veremos diferentes ficheros:

- .info: contiene información general sobre el tema, como el nombre del tema, una descripción, la  versión de Drupal en que funciona etc. A parte, en este fichero podremos quitar o añadir elementos del tema como son las regiones, css, javascripts, o elementos como los links primarios, la cajita de búsqueda etc.
- .tpl.php: son ficheros .php que mezclan código .html y código .php y especifican algunos detalles del modo en que se ha de mostrar el elemento a que se refieren en su nombre. P.ej page.tpl.php define la estructura general del HTML de una page, block.tpl.php define la estructura general del HTML de un bloque etc.
- .css: contiene código css que es utilizado por las templates.
- .png, .jpg: son las imágenes que se muestran en el tema.
- template.php : se considera la piedra angular de los temas, y contiene un conjunto de funciones .php que, al contrario de lo que sucede con los ficheros .tpl.php,  permiten controlar hasta el minimo detalle del modo en que se muestra la información en el navegador. Es decir es el fichero que dará mas juego a la hora crear nuestro tema, permitiéndonos omitir las variables y funciones de estilo de Drupal para usar las nuestras.

Si queremos que un Rol, que no sea el administrador, pueda cambiar los temas, deberemos darle permisos en las correspondientes opciones de usuario en "Administer>User managment>Permisions" “System module”, y también marcar la casilla Enabled en “Administer>Site building>Themes”. Así, el usuario podrá elegir entre alguno de los Themes marcados como Enabled.

Existen temas más bonitos y otros mas feos, algunos mejor programados y otros peor. Los mejor acabados incluirán diferentes opciones de configuración. Un buen ejemplo de tema configurable es el Garland. Este permite configurar la mayor parte de sus parámetros, y para ello solo deberemos ir a “Administer>Site building>Themes” y seleccionar Edit para configurarlo. En las opciones de configuración podemos especificar si queremos que se visualize el domino de la web, el slogan, cambiar el logo etc. La información del Slogan se configura en “Administer>Site configuration>Site information”.

Algunos CMS permiten establecer un Theme para el administrador y otro para los demás usuarios con la finalidad de facilitar el trabajo. Por defecto Drupal utiliza el mismo tema para los administradores que para usuarios, pero si lo deseamos, podemos establecer un tema diferente, para ello debemos ir a “Administer > Site configuration > Administration theme”.