Wordpress Themes

El sistema de plantillas de Earwyn

En varias ocasiones hemos comentado cosillas sobre el sistema de plantillas de Earwyn, pero no hemos entrado en detalles acerca de su funcionamiento. Este post dará algunas ideas de cómo está realizada su implementación y de la gran utilidad que puede llegar a tener.

Leyendo

Para mostrar el contenido de una página desde Earwyn, en el módulo apropiado se carga la plantilla que se desea utilizar. Por ejemplo,

$wod_engine->set_template(”my_template”);

El sistema buscará el fichero my_template.html, dentro de la carpeta de plantillas del theme (tema) activo. Leerá su contenido, identificando símbolos y tags. Después de esta instrucción, podremos agregar valores a las variables dinámicas presentes en la plantilla, encerradas entre signos de interrogación.

$wod_engine->add_value(”my_variable”, “valor de la variable”);

Por ejemplo, aquí reemplazaremos la cadena ¿my_variable? presente en la plantilla xhtml por la cadena “valor de la variable“, una vez llamemos al método que obtiene el código final:

$texto_a_mostrar = $wod_engine->get_xhtml();

Símbolos

Además de variables calculadas en el módulo php, en las plantillas también pueden mostrarse otra serie de datos:

  • Literales: puesto que el framework tiene soporte multi - idioma, también debe poder aplicarse en el contenido xhtml. Entre símbolos de exclamación, se indicará el nombre asociado a la cadena a traducir, presente en un fichero de lenguaje (uno por idioma).
  • Campos: de forma directa, se puede obtener el valor para un determinado campo. Las cadenas entre corchetes indican el nombre del campo… pero también es posible mostrar campos de otras tablas relacionadas con la actual, como por ejemplo las asociadas a través de una clave ajena.
  • Variables predefinidas: existen una serie de variables que el sistema interpreta de forma automática, sin necesidad de ser añadidas a través del método add_value. Por ejemplo, Earwyn reconoce valores pasados a través del método GET / POST en URLs y/o formularios, datos de acceso global como el session_id generado por php, cookies generadas…

Ventajas

Esta forma de plantear el desarrollo nos ofrece un par de ventajas básicas:

  • Organización: el código de los módulos es mucho más sencillo de leer y de modificar. Lo mismo pasa con el código de las plantillas, al no estar mezclado, se ahorra mucho tiempo a la hora de actualizar. Y, en general, se mejora la estructura de la aplicación web. Por otro lado, mejora la coordinación entre programadores / diseñadores, pues el diseño se podrá cambiar de forma radical sin tocar código php.
  • Flexibilidad: el sistema es flexible. Con poco esfuerzo, se puede adaptar a nuestro gusto. El diseño por orientado a objetos permite crear nuevos métodos, nuevas clases dependientes y ampliar a las funcionalidades que deseemos, manteniendo el orden e integridad de la aplicación. Y, al mismo tiempo, tiene la comodidad de un framework.

Desventajas

La principal desventaja radica en el supuesto de que en una misma página, se tengan muchos elementos repetitivos, para los que haga falta definir un patrón en otra plantilla. Por ejemplo, los listados. Por un lado estaría la plantilla general de la página y por otro, la plantilla que da formato a cada list item de la lista. Esto supone una pequeña molestia de andar creando plantillas muy simples… pero es de sobra compensado por las ventajas. De todas formas, andamos dando alguna vuelta a cómo mejorar el comportamiento de Earwyn en estos casos. :P

Código

Una pequeña captura de una parte del código de una plantilla xhtml..

Código Plantillas Earwyn

2 Comentarios “El sistema de plantillas de Earwyn”

  1. yens publicó:

    Smarty creo que le dá mil vueltas, es mucho más cómodo para temas de bucles para listados, y además es customizable ;)

  2. SiPoX publicó:

    Hum.. ya le estamos echando un ojo… :P Nos puede servir como base de ideas.. ;) :) Esta semana por ejemplo ya quedará mejorado el tema de listados y bucles :D :P

Responder