17. Template Wizard Online Generator puede ayudarte en la repetitiva tarea de crear la estructura del template y el código común en los archivos internos.
36. Tanto con 'table' como con 'horz' el contenido del módulo será cargado a través de tablas, la diferencia es que el primer parámetro lo hará de forma vertical (a través de una columna) y el segundo lo hará de forma horizontal (a través de una fila). Si utilizamos 'xhtml' el contenido en vez de ser cargado en tablas será insertado en DIVs. El parámetro 'rounded' es similar a 'xhtml' con la diferencia que carga el contenido en varios DIVs anidados. Este último se suele utilizar para realizar bordes redondeados a través de imágenes. Finalmente el parámetro 'raw' cargará el contenido neto, sin contenedores ni título.
37. Existen dos parámetros extra posibles en la instancia de los módulos llamados headerLevel y background, se usan en la técnica llamada mod Chrome que veremos en capítulos posteriores.
55. templates estáticos construidos con medidas exactas y los templates dinámicos construidos con medidas porcentuales consiguiendo así la adaptación a la resolución de pantalla del usuario final.
56. Quizás la mejor opción es una combinación de ambos tipos de layouts, una cabecera (header) y un pie (footer) dinamicos y un cuerpo principal de aproximadamente 960 píxeles de ancho centrado.
57. Según los sondeos realizados en encuestas la resolución de monitor más extendida es 1024 x 768 píxeles.
100. <param name="font" type="filelist" default="Arial" label="Select a font" description="Escoge un tipo de fuente para el titulo" directory="templates/jp_leaf/fonts" filter="" exclude="" stripext="" />
101.
102. filter : expresión regular para determinar que archivos deseamos filtrar. filter=”ttf$” mostraría únicamente los archivos truetype pero no otros por ejemplo.
103. exclude : es el caso contrario a filter, de nuevo con una expresión regular podemos definir que archivos no deseamos mostrar.
104. striptex : seteado a 1 nos permite no mostrar la extensión del archivo en la lista de opciones.
105. hide_none : seteado a 1 permite esconder la opción ”Do not use” del listado.
113. El sistema de listas creará un campo select en la administración de la plantilla donde podremos escoger uno de los posibles valores, en cambio el tipo radio ofrecerá un sistema de radio button.
114.
115. El tipo spacer crea una linea divisoria entre los diversos parámetros, este parámetro admite cierto estilo a traves de la opción default.
122. El tipo textarea como su nombre indica crea un campo textarea con el numero de columnas y filas definidas en los atributos rows y cols
123. Ademas existe una opción para crear tipos de parámetros personalizados que podemos encontrar en la documentación de joomla.org ( http://docs.joomla.org/Creating_custom_template_parameter_types )
124.
125. category nos proporciona una lista de categorías de una sección determinada.
129. hidden nos proporciona la habilidad de crear un campo hidden no modificable por el usuario desde la administración (puede ser alterado mediante código o editando el params.ini).
140. De esta forma hemos obtenido una lista de usuarios, ahora por poner un ejemplo podriamos hacer que cierto contenido de la estructura solo fuera visible si el usuario visitante coincide con este parámetro.
156. Los archivos de lenguaje son igual que el archivo params.ini, se trata de archivos de configuración en los que asignamos un valor a una cadena de texto.
157. En el backend estos valores se utilizan en las etiquetas y descripciones del templateDetails.xml y son tomados dinámicamente de nuestro archivo de lenguaje administrativo dependiendo del idioma activo en la administración.
158. En el front-end estos valores son tomados dinámicamente dependiendo del idioma activo del sitio, para ello debemos utilizar una sintáxis concreta en nuestro index.php.
160. De esta forma Joomla! buscara el valor asignado a esta cadena en el directorio de archivos de lenguaje igual al código de lenguaje activo en el sitio en ese mismo instante, por ejemplo es-ES para el español.
161. Esta técnica facilitará a usuarios de nuestro template a traducirse sus archivos de lenguaje en su propio idioma sin complicaciones.
162. Nota: es importante que guardemos los cambios realizados en esos archivos con codificación utf-8 no BOM o encontraremos que nuestros acentos y símbolos desaparecerán.
163. JText admite las funciones php printf y sprintf, de esta forma podemos incluir contenido dinámico a través de variables entre nuestra cadena de texto.
166. Es habitual ver templates con títulos en dos colores, esto no es otra cosa que la manipulación de la salida html de un módulo donde se ha insertado una etiqueta <span> a la que podamos darle un estilo personalizado.
168. Vamos a crear un archivo llamado modules.php dentro del directorio html de nuestro template, allí crearemos el código necesario para conseguir este efecto.
169.
170. Joomla! antes de renderizar una vista concreta de un componente o módulo comprobará si está presente en el template, de encontrarla la ejecutará prioritariamente.
171. Gracias a este sistema podemos personalizar enormemente nuestros diseños sin preocuparnos por futuras actualizaciones del sistema, ya que los archivos recogidos en el template jamás serán sobreescritos por una actualización.
189. Para terminar obtendremos una captura de nuestro template ya construido, reduciremos su tamaño a más o menos 250 x 210 píxeles renombrandola a template_thumbnail.png . La depositaremos en la raiz de nuestro template y esto servirá para que en el selector de templates de la administración de Joomla! este disponible una captura flotante del template al pasar el ratón por encima del nombre.