Sergio Iglesias Sánchez                              9 y 10 /                          Noviembre /                        ...
Plantillas Joomla!   Desarrollo de plantillas     Joomla! 1.5 y 1.7                                  9 y 10 /             ...
Desarrollo de Plantillas Joomla! 1.5  - XHTML + CSS + PHP  - Qué es una plantilla  - Frameworks de desarrollo  - Estructur...
xHTML + CSS + PHP  XHTML    Define la estructura de la información.    Extensible Hypertext Markup Language (lenguaje exte...
xHTML + CSS + PHP  CSS    Define el diseño.    Cascading Style Sheets (hojas de estilo en cascada).    Tres formas de apli...
xHTML + CSS + PHP  PHP    Lenguaje de programación del lado de servidor.    Pre-procesador Hipertexto       (lenguaje de p...
Qué es una plantilla    Es la base de la aplicación de entrega de contenidos.    Formada por diferentes archivos que contr...
Frameworks de desarrollo  Qué es    Estructura de software compuesta de componentes personalizables e  intercambiables par...
Estructura básica de archivos  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Estructura básica de archivos     index.html: añade seguridad a las carpetas. Es un archivo vacío.     index.php: contiene...
templateDetails.xml   Imprescindible para que la plantilla sea reconocida por el  administrador.      Se utiliza como inst...
templateDetails.xml  •    Datos específicos de la plantilla: versión, autor, email, página       web, año, licencia y desc...
templateDetails.xml  •    Especificación de los archivos utilizados en el diseño.  •    Para incluir una carpeta entera ut...
templateDetails.xml  •    Qué y cuántas posiciones tendremos en nuestro sitio (para       mostrar contenido en la plantill...
templateDetails.xml  •    Parámetros: para ser manejados desde el back. Hace que       una plantilla sea más versátil.  • ...
templateDetails.xml Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
API Joomla! – Directivas JDoc    <jdoc:include type=”head”/>       Va dentro de la cabecera HTML (head).       Muestra el ...
API Joomla! – Directivas JDoc    <jdoc:include type=”component”/>        Cargamos contenido principal del sitio: artículos...
Templates Overrides   Técnica para redefinir la presentación por pantalla de un  componente o módulo de Joomla!      “Clon...
Templates Overrides  USO   Crear una carpeta llamada html dentro de nuestra plantilla      templates/plantilla/html/   Den...
Ejemplo plantilla – index.php  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – index.php  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – index.php  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – template.css     Insertar estilos para la maquetación de la plantilla.     Conocer clases que Joomla! ...
Ejemplo plantilla – template.css     Otras clases:          button: asociada a elementos tipo botón.          inputbox: as...
Ejemplo plantilla – template.css  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – template.css  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – template.css  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – template.css  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – template.css  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Ejemplo plantilla – params.ini     Íntimamente ligada a templateDetails.xml        Sus parámetros se ponen en este fichero...
Ejemplo plantilla – params.ini  Plantillas Joomla!  Curso “Nombre del Curso”. Ciudad.
Novedades y diferencias en Joomla! 1.7  Algunas novedades   Salida de contenido sin tablas: todos los archivos de salida e...
Novedades y diferencias en Joomla! 1.7  templateDetails.xml Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
Novedades y diferencias en Joomla! 1.7  templateDetails.xml (en Joomla! 1.5) Plantillas Joomla! Curso “Nombre del Curso”. ...
Novedades y diferencias en Joomla! 1.7  templateDetails.xml (en Joomla! 1.7) Plantillas Joomla! Curso “Nombre del Curso”. ...
Novedades y diferencias en Joomla! 1.7  index.php    En Joomla! 1.5 definíamos la variable mainframe así:       global $ma...
Curiosidades  Algunas curiosidades y pequeños tips    Posible rediseño de joomla.org         https://plus.google.com/photo...
Publicidad  Libro Joomla! 1.6 – Guía de referencia en español    Guía de referencia en español    Minitutoriales     Intro...
Publicidad  Sergio Iglesias    www.sergioiglesias.net    twitter.com/sergiois Plantillas Joomla! Curso”. Ciudad. Curso “No...
Fin del taller   Gracias por vuestra atención  Plantillas Joomla! Curso”. Ciudad.  Curso “Nombre del
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Iglesias
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Iglesias
Upcoming SlideShare
Loading in...5
×

Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Iglesias

4,004

Published on

Taller de desarrollo de plantillas para Joomla! 1.5 y 1.7 impartido por Sergio Iglesias en el Joomla!Day 2011 España celebrado en Zaragoza

Published in: Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,004
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
136
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Iglesias

  1. 1. Sergio Iglesias Sánchez 9 y 10 / Noviembre / 2011 /
  2. 2. Plantillas Joomla! Desarrollo de plantillas Joomla! 1.5 y 1.7 9 y 10 / Noviembre / 2011 /
  3. 3. Desarrollo de Plantillas Joomla! 1.5 - XHTML + CSS + PHP - Qué es una plantilla - Frameworks de desarrollo - Estructura básica de archivos - templateDetails.xml - API Joomla! - Templates Overrides - Ejemplo plantilla · index.php + template.css + params.ini - Novedades y diferencias en Joomla! 1.7 - Curiosidades Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  4. 4. xHTML + CSS + PHP XHTML Define la estructura de la información. Extensible Hypertext Markup Language (lenguaje extensible de marcado de hipertexto). El lenguaje HTML no cumple al 100% las reglas del estándar XML. Para poder aprovechar las ventajas del XML, se hizo necesaria una evolución. del HTML hacia el xHTML, que no es más que una redefinición del lenguaje haciendo más estrictas algunas de sus formulaciones básicas (para que sea totalmente compatible con XML). Entre las reglas que forman parte del xHTML, pero no del HTML, podemos citar la obligación de cerrar todas las etiquetas y el uso exclusivo de minúsculas para las palabras del lenguaje (etiquetas). Es un estándar el W3C. Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  5. 5. xHTML + CSS + PHP CSS Define el diseño. Cascading Style Sheets (hojas de estilo en cascada). Tres formas de aplicar: CSS externa → recomendada. CSS interna. CSS en línea. Ventajas: Separa el diseño del contenido. Mejora el mantenimiento. HTML más claro de entender (e indexable). Distinto diseño para dispositivo: impresora, PDA... Es un estándar el W3C. Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  6. 6. xHTML + CSS + PHP PHP Lenguaje de programación del lado de servidor. Pre-procesador Hipertexto (lenguaje de programación interpretado). Acceso a base de datos (MySQL). Ventajas: Desarrollo de páginas web dinámicas. Lenguaje multiplataforma. Cuidado con versiones PHP 5 y PHP 6. Aplicaciones creadas con PHP: Joomla! SugarCRM FaceBook Tuenti Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  7. 7. Qué es una plantilla Es la base de la aplicación de entrega de contenidos. Formada por diferentes archivos que controlan la estructura y el diseño de la página y de sus contenidos. Ventajas: Proporciona una sepración entre la estructura (forma), contenido y estilo. HTML/xHTML/HTML5 → estructura DB → contenido CSS → estilo Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  8. 8. Frameworks de desarrollo Qué es Estructura de software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. Ventajas: Acelerar proceso de desarrollo. Reutilizar código ya existente. Promover buenas prácticas de desarrollo (uso de patrones). Frameworks de plantillas en Joomla! Gantry: http://www.gantry-framework.org/ Warp: http://www.yootheme.com/warp/ ZenGrid: http://www.joomlabamboo.com/blog/template-news/introducing-zen-grid-framework-2 T3: http://wiki.joomlart.com/wiki/JA_Template_Framework/Overview YJSG: http://yjsimplegrid.com/ Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  9. 9. Estructura básica de archivos Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  10. 10. Estructura básica de archivos index.html: añade seguridad a las carpetas. Es un archivo vacío. index.php: contiene el HTML que define la estructura de la plantilla y las llamadas PHP a la API de Joomla! (punto de entrada a la plantilla). params.ini: guarda los parámetros personalizables desde el administrador. template_thumbnail.png: imagen en miniatura de la plantilla. template_preview.png: sólo para Joomla! 1.7 css: carpeta con archivos CSS (hojas de estilo). template.css: archivo principal con el código de estilo de la plantilla. images: carpeta con las imágenes utilizadas en la plantilla. html: contiene vistas personalizadas para distintos componentes y módulos (técnica template overrides). templateDetails.xml: contiene información necesaria para la correcta instalación de la plantilla. Define los parámetros personalizables. Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  11. 11. templateDetails.xml Imprescindible para que la plantilla sea reconocida por el administrador. Se utiliza como instalador de la plantilla Todo lo que no esté definido en él, no se instala. Datos divididos en 4 partes: Datos. Archivos. Posiciones. Parámetros. Los datos de los parámetros podrán ser utilizados desde el back para cambiar la visualización. Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  12. 12. templateDetails.xml • Datos específicos de la plantilla: versión, autor, email, página web, año, licencia y descripción. • Cambios en Joomla! 1.7 Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  13. 13. templateDetails.xml • Especificación de los archivos utilizados en el diseño. • Para incluir una carpeta entera utilizar: <folder>nombre_carpeta</folder> Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  14. 14. templateDetails.xml • Qué y cuántas posiciones tendremos en nuestro sitio (para mostrar contenido en la plantilla. Curso “Nombre del Curso”. Ciudad.
  15. 15. templateDetails.xml • Parámetros: para ser manejados desde el back. Hace que una plantilla sea más versátil. • Este apartado está íntimamente ligado al archivo params.ini • Cambios en Joomla! 1.7 Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  16. 16. templateDetails.xml Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  17. 17. API Joomla! – Directivas JDoc <jdoc:include type=”head”/> Va dentro de la cabecera HTML (head). Muestra el title, metatags, feed y js (MooTools). $this->template Obtenemos el nombre de la carpeta que contiene nuestra plantilla. Uso: para cargar css, favicon y cualquier otro archivo. $mainframe→getCfg(sitename) Obtenemos el nombre del sitio. <jdoc:include type=”modules” name=”posicion” style=”estilo”/> Indica la carga de un módulo en particular y de una manera específica (parámetros name y style). name: posiciones cargadas en el fichero templateDetails.xml style: table (tabla vertical = columna), horz (tabla horizontal = fila), xhtml (divs), rounde (divs anidados), raw (sin contenedor). Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  18. 18. API Joomla! – Directivas JDoc <jdoc:include type=”component”/> Cargamos contenido principal del sitio: artículos, secciones, categorías, componentes... if($this->countModules(nombre_posicion)){} Condicional para saber si hay algún módulo en una posición determinada. $this->baseurl Contiene la dirección base de nuestro sitio $this->language Contiene el idioma en el que se encuentra nuestro sitio (es-ES, en- GB...). Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  19. 19. Templates Overrides Técnica para redefinir la presentación por pantalla de un componente o módulo de Joomla! “Clonación” de la vista de la extensión. Se incluye a partir de la versión 1.5. Ventajas: Personalizar el portal sin preocuparse de actualizaciones de extensiones. Validación de estándares propuestos por el W3C. Conseguir un nivel adecuado de accesibilidad (algunas extensiones, inclusos las propias, no cumplen accesibilidad). Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  20. 20. Templates Overrides USO Crear una carpeta llamada html dentro de nuestra plantilla templates/plantilla/html/ Dentro de esta carpeta meter las carpetas de los componentes y/o módulos que queramos redefinir o “clonar”. Copiar el contenido de la carpeta tmpl (vistas) y realizar en ellos las modificaciones/adaptaciones necesarias. Joomla!, al generar la página web, mira si hay en la plantilla una redefinición o “clon”. Si la encuentra, la utiliza. Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  21. 21. Ejemplo plantilla – index.php Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  22. 22. Ejemplo plantilla – index.php Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  23. 23. Ejemplo plantilla – index.php Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  24. 24. Ejemplo plantilla – template.css Insertar estilos para la maquetación de la plantilla. Conocer clases que Joomla! carga por defecto: componentheading: muestra título del componente. contentheading: muestra título de los artículos. buttonheading: muestra iconos PDF, imptimir y enviar amigo. small: utilizado en varios elementos (como autor de artículo). createdate: muestra fecha creación artículo. readon: utilizada por el link de “leer más...”. article_separator: utilizada por etiqueta <span> que separa artículos entre sí. moduletable(+ sufijo): carga los div (y sufijo que se da desde back). h3: títulos de los módulos que se cargan con esta etiqueta. active: para item del menú activo. item: cada elemento del menú (+ su ID). parent: cuando hay sub-items (para elemento padre). Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  25. 25. Ejemplo plantilla – template.css Otras clases: button: asociada a elementos tipo botón. inputbox: asociada a elementos text-input. pagenav: asociada a paginación de artículos. moditydate: asociada a fecha de modificación de artículos. sectiontableentre1/sectiointableentry2: asociada a datos en tablas. Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  26. 26. Ejemplo plantilla – template.css Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  27. 27. Ejemplo plantilla – template.css Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  28. 28. Ejemplo plantilla – template.css Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  29. 29. Ejemplo plantilla – template.css Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  30. 30. Ejemplo plantilla – template.css Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  31. 31. Ejemplo plantilla – params.ini Íntimamente ligada a templateDetails.xml Sus parámetros se ponen en este fichero Declaración: nombre_del_parametro_1=valor_1 nombre_del_parametro_2=valor_2 nombre_del_parametro_3=valor_3 Llamada desde PHP: <?php echo $this->params->get(nombre_del_parametro); ?> Añadir estilos asociados en template.css Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  32. 32. Ejemplo plantilla – params.ini Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  33. 33. Novedades y diferencias en Joomla! 1.7 Algunas novedades Salida de contenido sin tablas: todos los archivos de salida están escritos en XHTML 1.0 Strict. Template styles (estilos de plantilla): creación de variaciones en la plantilla para una o varias páginas que pueden ser asignadas de forma específica. Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  34. 34. Novedades y diferencias en Joomla! 1.7 templateDetails.xml Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  35. 35. Novedades y diferencias en Joomla! 1.7 templateDetails.xml (en Joomla! 1.5) Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  36. 36. Novedades y diferencias en Joomla! 1.7 templateDetails.xml (en Joomla! 1.7) Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  37. 37. Novedades y diferencias en Joomla! 1.7 index.php En Joomla! 1.5 definíamos la variable mainframe así: global $mainframe; En Joomla! 1.6 y 1.7: $mainframe = JFactory::getApplication(); Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  38. 38. Curiosidades Algunas curiosidades y pequeños tips Posible rediseño de joomla.org https://plus.google.com/photos/108983221798389280265/albums/5643812923156404913 Posible rediseño del administrador https://plus.google.com/photos/108983221798389280265/albums/5625370216902790289 Plantillas para administrador: no solo hay plantillas para la parte front http://www.sergioiglesias.net/blog/joomla/119-plantillas-gratis-para-adminitrador-de-joomla-15-y-16 Mostrar posiciones en plantilla http://www.sergioiglesias.net/blog/joomla/90-visualizacion-de-posiciones-en-plantillas-16-con-tp1 Añadir teclas de acceso rápido: accesskey http://www.sergioiglesias.net/blog/joomla/89-anadir-etiquetas-accesskey-en-joomla-16 Ordenar módulos y artículos Definición propia de módulos en template <jdoc:include type="modules" name="blog" style="blog" /> Ver html/modules.php Plantillas Joomla! Curso “Nombre del Curso”. Ciudad.
  39. 39. Publicidad Libro Joomla! 1.6 – Guía de referencia en español Guía de referencia en español Minitutoriales Introducción Instalar XAMPP Novedades en Joomla! 1.6 Instalar Joomla! 1.6 Enlaces de interés Joomla! Gestionar permisos Acceso al panel de control Crear un artículo Sitio Crear un contacto Usuarios Integrar noticias Menús Añadir un módulo submenú Contenido Habilitar la vista de módulos Componentes Añadir accesskey Extensiones Integrar DNI electrónico Ayuda Enlaces de interés www.librojoomla16.com Plantillas Joomla! Curso”. Ciudad. Curso “Nombre del
  40. 40. Publicidad Sergio Iglesias www.sergioiglesias.net twitter.com/sergiois Plantillas Joomla! Curso”. Ciudad. Curso “Nombre del
  41. 41. Fin del taller Gracias por vuestra atención Plantillas Joomla! Curso”. Ciudad. Curso “Nombre del
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×