| Convierta sus diseños web en plantillas Joomla! |
|
Los usuarios desconfían de los sitios que usan diseños ya trillados ó muestran diseños cutres. Esto rebaja el nivel de la marca, por eso cada vez más empresas cuidan muy mucho estos detalles. El diseño de páginas web es un negocio en auge. Sin embargo los diseñadores se enfrentan cada vez más a un desafío creciente y es el uso ampliamente extendido de los CMS como Joomla! Para el diseñador web representa una vuelta de tuerca, ya que su clásico diseño de página HTML con su correspondiente CSS no será directamente aplicable. Para que los sea, a partir de su diseño deberá generar una plantilla que se instalará en Joomla! y le conferirá el aspecto exclusivo que aporte valor a la marca. En este artículo revisamos el proceso de convertir un diseño tradicional en una plantilla Joomla! instalable.
Introducción
El diseño clásicoA continuación expondremos el diseño clásico que utilizaremos como ejemplo. Se trata de un diseño muy simplificado que consta de dos archivos: el index.html con los contenidos del diseño y su correspondiente hoja de estilos en el fichero template.css. No se incluyen en el diseño imágenes, para simplificar el ejemplo. Por otro lado, las imágenes no requieren un tratamiento especial al convertir el diseño en una plantilla Joomla!. Somero análisis del diseño--- Imagen 1---
--- Imagen 1--- En la imagen 1 puede ver el aspecto del diseño, mientras que en los listados 1 y 2 puede leer el código HTML y CSS correspondientes. Se ha añadido un borde coloreado a cada caja del diseño y un margen de 5 pixels (fíjese en la clase “margen” de la hoja de estilos del listado 2 y su aplicación en el index.html del listado 1) para facilitar la comprensión de la distribución espacial del esquema. Si observa la imagen 1, verá una primera caja contenedora perfilada con un borde negro, que contiene a todas las demás cajas. En el listado 1 correspondiente al fichero index.html puede ver como las marcas: <div id="container">
... </div> encierran a todas las demás cajas. En el listado 2 correspondiente a la hoja de estilos template.css, puede leer los estilos asignados al primer contenedor. No nos vamos a detener en el detalle de los estilos aplicados y asumiremos que el lector conoce los entresijos del CSS. De no ser así puede encontrar estupendos tutoriales en línea (por ejemplo en http://www.w3schools.com/css/). Este ejemplo se centrará en los aspectos del esquema posicional, sin prestar atención a los estilos de letra , etc...
El sangrado denota cómo las cajas se disponen unas dentro de otras (puede verificarlo tanto en la imagen 1, como en el index.html). Para verbalizarlo un poco: dentro de container están las cajas llamadas container2 y footer. Dentro de container2 están a su vez: container3 y right. Dentro de container3 están: top, content y left. Finalmente dentro de top están: user1 y user2. Los nombres de las cajasUsted puede dar a las cajas el nombre que desee. Su diseño será convertible en una plantilla para Joomla! 1.5 sin problema técnico alguno. Sin embargo se recomienda no dar a las cajas nombres arbitrarios y ceñirse en la medida de lo posible a los nombres sugeridos por el uso y la tradición que se ha establecido en Joomla!. En Joomla! se establecen los nombres de las cajas según la posición y uso que ocuparán en el diseño. Gracias a esta forma de asignar los nombres de las cajas, los administradores de las páginas web saben que la caja denominada “content” albergará los artículos principales del sitio web; que la caja “left” está situada a la izquierda de “content” y que normalmente albergará los menús; que la caja “right” está a la derecha de “content” y habitualmente se situará en una ubicación apropiada para banners ó contenidos poco relevantes; etc... Usted, como diseñador, querrá crear diseños que los administradores web puedan comprender fácilmente para que su utilización sea más intuitiva. Asignar a las cajas nombres y posiciones “estándar” será de gran ayuda. El entorno de desarolloEl entorno de desarrollo suele ser una elección muy personal. Para los diseñadores, hay herramientas muy populares como Dreamwever y Photoshop; pero yo recomiendo las opciones Open Source como Quanta Plus y Gimp, que son las que utilizo. Manos a la obraLance su entorno de desarrollo preferido. Cree una carpeta para albergar el proyecto. Llámele por ejemplo “plantillaBasica”. Dentro de esta carpeta cree otra que llamará “css”. Ahora toca escribir: escriba el listado1 dentro de un fichero llamado index.html y guárdelo en /plantillaBasica. Escriba ahora el listado2 en un fichero llamado template.css y guárdelo en /plantillaBasica/css. Si no le apetece mucho escribir, encontrará los listados del ejemplo en http://www.topazioweb.com/index.php/joomla/listados listos para copiar. Ahora lance el navegador Firefox y abra el fichero index.html. Tendrá que ver en el navegador algo muy parecido a la imagen1. Estructura de la plantilla Joomla!Ahora que ya hemos implementado el diseño que queremos convertir en una plantilla para Joomla!, ha llegado el momento de introducir los aspectos esenciales de estas plantillas. Lo que aquí pretendemos es realizar un ejercicio práctico, por lo que le recomendamos ponerse “manos a la obra”. Esto significa que debería usted disponer de una instalación de Joomla! funcionando en su ordenador de trabajo. Puede descargarse la última versión de Joomla! del sitio web oficial www.joomla.org. Si tiene problemas con esta instalación, dispone de ayuda en los foros del sitio Joomla! así como abundante documentación. Por ejemplo en el sitio de Joomla! hay una sección dedicada a los desarrolladores (http://docs.joomla.org/Developers). Bajo el epígrafe “Setting up your workstation for Joomla! Development” encontrará una guía paso a paso. También existen numerosas publicaciones; al final del artículo recomiendo un par de libros. La plantilla Joomla! básicaLa plantilla que desarrollaremos en este ejemplo es muy básica, por lo que tan sólo necesitamos una carpeta:
La plantilla dispondrá de los siguientes archivos:
La conversiónComenzamos el proceso de conversión del diseño clásico a la plantilla Joomla! Adaptar el templateDetails.xmlHemos dicho entonces que necesitamos una carpeta css con un archivo template.css. Estos dos elementos ya los tenemos y no necesitaremos tocarles. Necesitaremos un index.php que construiremos modificando el index.html que tenemos. Lo haremos en un apartado posterior. También necesitamos un archivo templateDetails.xml que no tenemos. Lo más sencillo será copiar un archivo existente y modificarlo a nuestra conveniencia. Al no tener que escribir todo el texto nos ahorraremos errores sintácticos. La instalación predeterminada de Joomla! instala por defecto varias plantillas, llamadas: Milkyway, Beez y JA_Purity. Las plantillas para el Front End del sitio se instalan bajo la carpeta /Site_path/templates/nombre_plantilla. Donde “Site_path” es la ruta de su instalación Joomla! y “nombre_plantilla” será alguna de las anteriores por ejemplo “beez”. Acceda a esta carpeta (/Site_path/templates/beez) y copie en su carpeta de trabajo (plantillaBasica) el fichero “templateDetails.xml”. Abra el fichero y modifíquelo como se indica...
Guarde este fichero en su directorio de trabajo (plantillaBasica). En el listado 3 dispone de un ejemplo de edición de este fichero. De nuevo, si no le apetece escribir, dispondrá del listado 3 en http://www.topazioweb.com/index.php/joomla/listados/12-listado3 index.phpEl fichero index.php es el esqueleto del sitio web. Cada página que Joomla entrega toma cuerpo a través de una selección de contenido insertada desde la base de datos. El fichero index.php de una plantilla contiene una mezcla de código html que será entregado al navegador tal cual es, y código php que será modificado previamente a su entrega al navegador. El código será familiar para cualquiera que haya diseñado una página html sencilla: hay dos secciones principales – la <head> y la <body>. En lo que difiere index.php con respecto a index.html es en el uso de código php para insertar información seleccionada desde la base de datos de Joomla! Ejecución en entorno Joomla!Debemos de asegurarnos que nuestro “index.php” se ejecuta exclusivamente en el entorno Joomla!, para evitar problemas de seguridad. Para ello añadiremos una sentencia php en la primera línea de nuestro script: <?php defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
Es una sentencia php, que se distingue del restante código html porque está encerrada entre las marcas “<?php” y “?>”. Significa que la variable de entorno Joomla! _JEXEC debe estar establecida ó de lo contrario el script terminará con el mensaje “Restricted access”.
Estableciendo el lenguaje configurado en Joomla!En la siguiente línea: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
el lenguaje fue establecido a “es” (español). Ahora lo modificaremos para que la plantilla acepte el lenguaje que el administrador Joomla! decida. Modifíquela así: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>">
Estableciendo el nombre configurado en Joomla!Habíamos configurado el título de nuestro diseño como: <title>Diseño clásico de ejemplo</title>
<jdoc:include type="head" />
Añadiendo los estilosHabíamos establecido la hoja de estilos mediante: <style type="text/css" media="screen">
@import url("css/template.css"); </style>
<link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" /> <link rel="stylesheet" href="/<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
Añadiendo contenidoBusque la caja “content” y borre el contenido. Deje la marca “h2”, y debajo añada la sentencia jdoc correspondiente. Quedará así: <div id="content" class="margen"> <!-- content : caja para el contenido principal-->
<h2>Posición: content</h2> <jdoc:include type="component" /> </div><!-- //content -->
Añadiendo los módulos a sus posicionesDe la misma manera que hemos hecho para la caja “content”, sustituiremos el contenido estático por la sentencia “jdoc” que crea el contenido dinámicamente, añadiendo los módulos correspondientes en sus posiciones. <jdoc:include type="modules" name="top" />
<jdoc:include type="modules" name="user1" />
<jdoc:include type="modules" name="user2" />
<jdoc:include type="modules" name="left" />
<jdoc:include type="modules" name="right" />
<jdoc:include type="modules" name="footer" />
index.htmlAhora crearemos un nuevo archivo “index.html” muy simple. Contendrá solamente el siguiente código: <html><body bgcolor="#FFFFFF"></body></html>
Crear el paquete instalableA modo de resumen... tenemos en nuestro directorio de trabajo “plantillaBasica”, convenientemente editados, los siguientes ficheros y carpetas: <filename>index.html</filename>
<filename>css/index.html</filename> <filename>css/template.css</filename> <filename>index.php</filename> <filename>templateDetails.xml</filename>
--- Imagen 2---
--- Imagen 2---
Instalación de la plantilla en Joomla!Instalar vía panel de administraciónProcederemos a instalar la plantilla recién creada a partir del fichero de plantilla empaquetado, vía Panel de de Administración de Joomla!. -- Imagen 3 --
-- Imagen 3 -- Desde aquí podrá instalar sus plantillas, plugins, módulos, componentes y lenguajes. Dispone de tres opciones: -- Imagen 4 --
-- Imagen 4 -- Si el paquete no contiene errores, se instalará y se mostrará un mensaje de éxito como el de la imagen 5. -- Imagen 5 --
-- Imagen 5 -- Si tiene problemas con esta forma de instalación de la plantilla, hay una alternativa... Instalar vía FTPLas plantillas no empaquetadas, se pueden instalar vía FTP. Simplemente se trata de seleccionar la carpeta de la plantilla en su PC y subirla a su servidor, usando su software de FTP favorito. Asegúrese de que la carpeta de la plantilla se sube al directorio: /ruta_a_joomla/templates/ - donde /ruta_a_joomla/ es la localización de su instalación de Joomla! en su servidor. Este método es principalmente usado cuando se crea una plantilla propia, y no quiere tener que empaquetarlo para instalar la plantilla, ó si quiere instalar más de una plantilla a la vez. Resultado finalEn la imagen 6 puede ver la plantilla, ya instalada en Joomla ! y funcionando. -- Imagen 6 --
-- Imagen 6 -- Si usted ha seguido las indicaciones correctamente hasta aquí, observará que en su pequeño laboratorio la “plantillaBasica” no se visualiza. Como se ha dicho, Joomla dispone de varias plantillas por defecto y el administrador aún puede instalar más. Por tanto, hay que decirle a Joomla qué plantilla queremos que aplique. Es decir, debemos conmutar la plantilla actual a la plantilla deseada (plantillaBasica). Cómo conmutar entre plantillasPara modificar la plantilla por defecto del sitio (Front-end) ó de administración (Back-end), siga los siguientes pasos: -- Imagen 7 --
-- Imagen 7 -- Verá la pantalla del gestor de plantillas, como se muestra en la imagen 8. -- Imagen 8 --
-- Imagen 8 -- Nótese que solo el Super Administrador de Joomla! puede acceder a este gestor. Asignar más de una plantilla al Front-endJoomla provee una opción para usar más de una plantilla en el Front-end. Podrá hacerlo a través del gestor de plantillas, asignando la plantilla correspondiente a cada menú. Pique sobre Extensiones-> Gestor de plantillas. -- Imagen 9 --
-- Imagen 9 -- Asignar los módulos a las posicionesAhora ya puede ver su plantilla “plantillaBasica” recién creada, instalada en Joomla! Sin embargo, el aspecto de la página no es “tan bonito” como el mostrado en la imagen 6. Esto es debido a que hay demasiados módulos asignados a posiciones. La plantilla “plantillaBasica” tal y como está diseñada no admite más de un módulo en las posiciones “user1” ó “user2” porque al visualizarse se solapan con el “content” ó “left”. Para arreglar este pequeño desaguisado, acceda al gestor de módulos en el menú de administración y asigne un solo módulo “user1” y “user2”. En la figura 6 puede ver que en “user1” he posicionado el módulo “Últimas noticias” y que en “user2” he posicionado el módulo “Popular”. Las posiciones “left” y “right” sí están preparadas para albergar varios módulos. Por ejemplo en “right” tenemos tres módulos: un “banner” de www.topazioweb.com; otro módulo “¿Quién está en línea?”; y el último “Encuesta”. Más sobre estructura de una plantillaLa “plantillaBasica” que hemos creado es muy simple, al fin y al cabo consta de tres ficheros y una carpeta. Las plantillas comerciales suelen tener una estructura más compleja. Vamos a dar un pequeño repaso a los típicos componentes de una plantilla.
Una plantilla típica para Joomla! 1.5 incluye las siguientes carpetas:
Todas las plantillas del sitio (las que cambian la apariencia del sitio) pueden encontrarse en la carpeta de plantillas (templates). Por ejemplo, si su plantilla se llama "miplantilla", entonces estará situada en la carpeta "[ruta_a_joomla]/templates/miplantilla. Busque en su instalación de Joomla! e investigue. Más sobre sentencias JdocLas sentencias <jdoc:include /> son métodos específicos de las plantillas Joomla que ofrecen distintos contenidos, específico para la página servida al navegador. Esta sentencia admite varios atributos:
Por ejemplo, una sentencia completa podría tener esta guisa: <jdoc:include type="module" name="submenu" style="rounded" id="submenu-box" />
Atributo typeHay cinco posibles tipos en la sentencia jdoc. La especificación de tipo debe ir siempre con comillas dobles. Los tipos posibles son:
Atributo style ó “module chrome”Combinable con el atributo “module”. Mediante el atributo “style” especificamos el estilo que aplicaremos a la salida generada por el módulo. En caso de no especifar ninguno se asume un valor “none” para este atributo. Los valores a elegir para este atributo son: none, rounded, table, horz, xhtml y outline. Para ver una especificación detallada de cada uno de ellos: http://docs.joomla.org/What_is_module_chrome%3F Más sobre estilos predeterminados.Como hemos dicho anteriormente los estilos que se aplicarán a Joomla se declaran en el index.html por medio de las siguientes líneas: <link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="/<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" /> <link rel="stylesheet" href="/<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
Buenas prácticas del diseño webAccesibilidadLa accesibilidad web se basa en ciertas técnicas en el diseño web que posibilitan a personas con alguna discapacidad el acceso a la información contenida en la página. Algunos de los aspectos que afectan a la accesibilidad incluyen redimensionado, uso de javascript, imágenes y tipo de medios usados, así como el uso de ciertas técnicas en el diseño de los esquemas. WCAGWCAG es producido y mantenido por el world Wide Web Consortium (W3C). Los estándares WCAG están basados en tres niveles de prioridad (Prioridad 1, 2 y 3). La Prioridad 1 mantiene los requisitos más básicos que un sitio debería alcanzar para ser accesible. Un buen lugar para empezar a obtener información sobre WCAG puede ser el “Web Content Accessibility Guidelines 1.0” que encontrará en http://www.w3.org/TR/WCAG10/ . Section 508La Section 508 es una ley federal de los EEUU promulgada en 1998. En principio era para uso de las agencias gubernamentales, pero desde entonces se ha adoptado por la comunidad como banco de pruebas para la accesibilidad web. Para más información puede acceder al sitio oficial en http://www.section508.gov/index.cfm Lecturas recomendadasPor supuesto en el sitio web de Joomla! encontrará abundante documentación dedica a los diseñadores (http://docs.joomla.org/Web_designers), en inglés. ConclusiónTras una breve introducción sobre el diseño web, en el artículo se parte del análisis de un esquemático diseño tradicional y se muestra paso a paso cómo convertirlo en una plantilla para Joomla 1.5. Se muestra cómo empaquetar la plantilla en un fichero y se explica su instalación desde el panel de administración de Joomla. Además de la práctica paso a paso del ejemplo, se introducen nociones acerca de las plantillas Joomla, como la estructura de una plantilla básica, los nombres de las posiciones “tradicionales”, los estilos predeterminados, las sentencias jdoc, los estilos “module chrome”, etc.
|