Miguel Rodríguez hace desarrollo de software efectivo.

Porque deberías usar temas base en Drupal

A pesar de que estoy dando concejos de tematización y diseño, recuerda que no soy diseñador, soy un desarrollador, y lo mejor que puedo hacer es algo que se vea bien pero funcional.
Empezando la construcción de este sitio web en Drupal, después del análisis del diseño que iba a hacer, tuve que enfrentar el proceso de tematización, el proceso en el que se suponía debía implementar el diseño pensado en Drupal, había algunos requerimientos para este tema como su interfaz responsiva (responsive layout) y sus bases HTML5 y CSS3. Tuve que averiguar como hacerlo por mí mismo, hice 3 versiones de este tema, uno fue hecho desde cero, uno fue basado en Adaptive Theme, y el último fue basado en Omega, analizando esta experiencia, hay una gran diferencia en tematizar desde cero y tematizar basado en otro tema, puedes, no solo, evadir esta pérdida de tiempo total también puedes hacer un tema con mejores prestaciones, fácil de mantener y modificar.
 

Interfaz responsiva

 
Como uno de los requerimientos para este tema, era necesario implementar una solución de grilla fluida como Columnal o 960.gs en el tema, y posiblemente, con el resto de los módulos que pudieran generar una salida.
 

Tematizando desde cero

  • Tienes que integrar una solución de grilla fluida en el tema manualmente; tienes que integrar la grilla fluida (Columnal o 960.gs) en el tema manualmente, quizás no sea la gran cosa, solo tienes que establecer algunas clases CSS y código HTML pero pudiera empeorar si tienes que añadir código CSS a un código HTML que está en una variable, si es así, tendrás que usar una función de tema solo para encontrar la variable y añadir la modificación apropiada a fin de tener la grilla funcionando con tu tema.
  • Al integrar una grilla fluida, tienes que establecer todas las clases CSS manualmente y se puede poner peor si tienes que integrarlo a otros módulos (ejemplo: paneles); esto está de alguna manera relacionado con el punto anterior, posiblemente quieras añadir algunas clases CSS para poner la grilla a trabajar con un módulo como paneles, añadir una clase CSS a un panel quizás no sea tan difícil, pero, si la grilla requiere una estructura específica para trabajar y no solo clases CSS, va a ser difícil de implementar.
 

Usando un tema base

  • La responsividad de la mayoría de los temas base está auto gestionada; temas base como omega y adaptiveThemes tienen archivos CSS separados con guías de como elaborar temas usando estos archivos, todos ellos tienen un diseño "primero móvil" (first mobile), asegurándose que el tema trabajará en todos los dispositivos.
  • Ancho asignado por el usuario; los temas bases como Omega tienen la capacidad de permitir al usuario asignar el ancho de las secciones manteniendo la misma responsividad, esto cambia enteramente el proceso de tematización en algo muy simple, a diferencia de los temas base, las secciones de los temas hechos desde cero tienen que tener un ancho preasignado.
 

Integración con módulos

 
Cada módulo en Drupal tiene su propia salida con su propio HTML y CSS, si uno de esos módulos no imprime la salida como debería, o imprime una salida indeseada, tendrás que modificar o reparar esa salida por cualquier medio que sea necesario, por supuesto, esto es considerado como un cambio menor, pero esos cambios menores tienen que ser resueltos de todos modos y pueden llevarse tiempo para ser resueltos.
 

Tematizando desde cero

  • Se supone que debes cambiar cada característica de la interfaz visual de cada módulo para que coincida con el tema; hay algunos módulos que su salida puede no ser la salida que está siendo deseada, quizás los comentarios, los títulos o los menús tienen que ser cambiados porque no se ven como debería.
  • Tienes que reparar cada característica de la interfaz visual que pueda romper un estilo visual de tu tema; hay algunos módulos que puedan causar que el tema pierda su aspecto, algunos módulos tienen sus propios márgenes, rellenos (paddings) y bordes, cada una de estas propiedades que pueden generar conflicto con el tema tienen que ser reparados.
 

Usando un tema base

  • Personalizaciones y reparaciones para los módulos principales; a diferencia de los temas hechos desde cero, los temas base tienen sus propias personalizaciones, algunos de ellos pueden proveer reparaciones menores para esos modules que están generando conflicto con el tema, adicionalmente, los temas base como omega tienen la capacidad de permitir al usuario alternar cualquier archivo CSS para desactivar cualquier estilo indeseado.
 

Zonas y secciones de temas

 
Los bloques de Drupal pueden permitir al usuario organizar el contenido in la interfaz de usuario, también hay algunos módulos que dan más capacidad para organizar la interfaz de usuario como el usuario quiera, pero, algunas secciones y zonas están organizadas en el tema por código, permitir al usuario mover estas secciones seria desafiante si los temas base no existieran. El hecho es que las secciones de un sitio web no es algo que deba cambiarse, se supone que fue planificado, pensado y acordado, pero asegurarse de que las secciones y zonas pueden ser organizadas por alguien más que el diseñador/desarrolador (o algún otro responsable por el tema) mejorara la mantenibilidad del tema.
 

Tematizando desde cero

  • Tienes que establecer todas las zonas y secciones programándolas; como mencione antes, los bloques de Drupal permiten al usuario organizar el contenido pero no pueden permitir al usuario cambiar algo mas que eso, ejemplo: el usuario no puede cambiar la barra lateral y la sección de contenido (sus posiciones, anchuras o visibilidad). El tema puede tener un acción en caso de fallos para una sección que no tenga contenido, quizás, es posible remover el contenido para una sección en una página específica de modo que desaparezca, hay otros módulos como paneles que pueden reemplazar las secciones por defecto de el tema para imprimir el contenido como el usuario necesite, pero esto no es dar poder real al usuario, es más una alternativa para algo que no es posible con un tema hecho desde cero.
 

Usando un tema base

  • Organización de secciones; los temas base como Omega pueden modificar o esconder cada sección y zona, ellos permiten al usuario cambiar opciones como posición, tamaño y visibilidad.
 

Otros beneficios de tematizar con un tema base

 
  • HTML5 listo; la mayoría de temas base para Drupal dan un soporte genial para HTML5 por defecto, ellos proveen librerías, polyfills, código optimizado y configuraciones, ayudando a enfocarse solamente en el proceso de tematización.
  • Estilos predefinidos; la mayoría de temas base tienen sus propios estilos predefinidos, ellos tienen sus propios botones, tablas, bloques y menús. se ven realmente bien y pueden (posiblemente) coincidir con tu diseño.

About me

Acerca del autor
Miguel Rodríguez es un desarrollador freelance de Caracas - Venezuela, es una persona persistente y orientada a metas que trata de hacer el mejor uso de sus recursos, es lo suficientemente positivo, proactivo y motivado como para plantear una meta con intenciones de cumplirla, encuentra más sobre él .