Maquetar en Drupal 7: Funciones del Tema

Maquetar en Drupal 7: Funciones del Tema

Maquetar en Drupal 7 repasamos la estructura básica de la API de plantillas de Drupal y como conocerla nos puede ahorrar muchos dolores de cabeza. Te recomiendo que lo leas antes de seguir. En este artículo quiero repasar contigo otra de las características de la API, que es muy conveniente dominar a la hora de desarrollar: Las funciones del tema. Las funciones del tema de Drupal existen para que puedas crear marcado HTML y que este sea personalizable por temas y módulos. El core de Drupal tiene muchas funciones de tema programadas que crean el marcado HTML para items de menú,  elementos para formularios, o incluso imágenes. ¿Alguna vez te has preguntado cómo Drupal genera e imprime estos elementos? Pues aquí tienes la respuesta. En tu plantilla HTML no tienes que definir directamente el HTML de la imagen.

Cómo llamar la funciones del tema

Las funciones del tema tienen un nombre simple, theme_algo(). Donde theme es el nombre del tema que estás desarrollando. Si utilizamos por ejemplo, la función theme_image(), la forma correcta, “forma Drupal” de llamar esta función es utilizando una otra función de Drupal, la función theme(). Esta función permite que otros módulos alteren el objeto antes que  se genere el código HTML, además de beneficiar una consistencia en el sistema. Esta función es responsable por el enrutamiento correcto de la función del tema. La forma correcta de llamar una Función del Tema para maquetar una imagen sería:
  • <?php print theme(‘image’, array(‘path’ => ‘/imagen.png’, ‘alt’ => ‘mi imagen’)); ?>
Te recuerdo que en la array de la función puedes , además del path y el alt, definir otros atributos, como el title, etc…

Sustituir las funciones del tema

Tal como en los ficheros de plantilla que vimos en el artículo anterior, Drupal también te permite sustituir las funciones de tema de forma fácil. No tendría mucho sentido crear un fichero de plantilla sólo para un elemento de formulario (un botón de radio o una caja de texto). Una función de tema te permite hacerlo. El servidor lo agradecerá a nivel de rendimiento. Las funciones del tema son ligeramente más rápidas que los ficheros de plantilla. Lo primero que tienes que hacer es asegurarte que en el sistema de carpetas de tu theme hay un fichero con el nombre template.php. Si no lo tienes, lo puedes crear, añadiendo obviamente <?php en la primera línea. En el Drupal es buena práctica no añadir la etiqueta de cierre (?>) de PHP al final del fichero. El siguiente paso es buscar la función original de la API del Drupal, que quieres sustituir,  copiar y pegar en tu fichero template.php, y realizar los cambios en el código PHP según tus necesidades. Antes de guardar el fichero debes cambiar el prefijo de la función. Si la función que estás sustituyendo es la theme_image(), ahora se llamará inusual_image(). Recuerda que inusual es el nombre del tema que estás desarrollando. Guardas el fichero y ¡no te olvides de limpiar las cachés! Fuentes: ]]>

Leave A Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Déjate sorprender...

Gestionar el consentimiento de las cookies

Para ofrecerte la mejor experiencia de uso, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.

Funcional

Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.

Estadísticas

El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.

Marketing

El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.