Inicio arrow Tutoriales arrow Cómo crear un template para Joomla! (Tercera parte)
Cómo crear un template para Joomla! (Tercera parte)
domingo, 29 de abril de 2007

Joomla!Tercera y última parte sobre como crear un template funcional para Joomla!

 



Como bien dije antes , solo queda por explicar la creación del archivo 'templateDetails.xml'. Además había quedado en poner un par de puntos que no pude mostrar anteriormente.

El archivo templateDetails.xml

Dicho es una parte esencial para la instalación y reconocimiento de la plantilla en la administración de Joomla!. Además con él podemos brindar información sobre el autor, datos de contacto, licencia, etc. Básicamente tendremos las siguientes etiquetas y sus correspondientes datos:

 

XML
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <mosinstall version="1.0" type="template">
  3.     <name>Nombre del template</name>
  4.     <version>Version del template</version>
  5.     <creationDate>Fecha de creación</creationDate>
  6.     <author>Nombre del autor</author>
  7.     <authorEmail>E-mail del autor</authorEmail>
  8.     <authorUrl>Url del autor</authorUrl>
  9.     <description>Una breve descripción</description>
  10.     <files>
  11.            <filename>Archivos de la plantilla</filename>
  12.     </files>
  13. </mosinstall>

 

Más alla de los datos de autor y nombres, es muy importante que especifiquemos correctamente todos los archivos de la plantilla, con su correspondiente carpeta contenedora y formato de archivo. En caso de no especificar alguno, sencillamente ese archivo no será reconocido ni instalado...

 

En nuestro caso, con la plantilla de ejemplo que estamos creando tendremos:

 

XML
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <mosinstall version="1.0" type="template">
  3.     <name>Green Joomla!</name>
  4.     <version>1.0</version>
  5.     <creationDate>04/2007</creationDate>
  6.     <author>Leandro D´Onofrio</author>
  7.     <authorEmail> Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla </authorEmail>
  8.     <authorUrl>http://www.leandrodonofrio.com/</authorUrl>
  9.     <description>Sencilla plantilla en tonos verdes</description>
  10.     <files>
  11.       <filename>index.php</filename>
  12.       <filename>templateDetails.xml</filename>
  13.       <filename>template_thumbnail.png</filename>
  14.       <filename>images/lista.gif</filename>
  15.       <filename>css/template_css.css</filename>
  16.     </files>
  17. </mosinstall>

 

Guardamos el archivo y lo situamos en la carpeta raiz de la plantilla.

Queda crear la imagen 'template_thumbnail.png' que actuará de preview en la administración. Lo ideal es que sea una captura de la plantilla, con un tamaño aproximado de 200x150 px.

Una vez hecho, seleccionamos todos los archivos (index.php, templateDetails.xml, template_thumbnail.png)  y carpetas (css e images) y los comprimimos en zip. Y eso es todo, ya hemos terminado una plantilla para Joomla!. Me quedan aclarar unos puntos más.

Notas aparte sobre index.php

  • .En la primera parte del tutorial, al crear el index, dentro de la cabecera teníamos:

PHP
  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  3. <!--Incorporo el Título, Info Meta, y Favicon-->
  4. <?php mosShowHead(); ?>
  5. <!--Obtengo mi estilo en cascada-->
  6. <link href="<?php echo $mosConfig_live_site;?>/templates/nombre_del_template/css/template_css.css" rel="stylesheet" type="text/css" />
  7. </head>


Lo cual no está mal, pero añadiendo un par de cosas podemos mejorarlo: 

 

PHP
  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
  3. <!--Incorporo el Título, Meta, y Favicon y habilito la edición en vivo-->
  4. <?php
  5. if ( $my->id ) {
  6.   initEditor();
  7. }
  8.  
  9. mosShowHead();
  10. ?>
  11. <!--Obtengo el estilo en cascada-->
  12. <link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/template_css.css" rel="stylesheet" type="text/css" />
  13. </head>


En primer lugar se incorporó la directiva PHP '<?php echo _ISO; ?>' para mostrar una codificación correcta en la plantilla. En segundo lugar además de mostrar el titulo, metatags y favicon con 'mosShowHead()', se agregó una función condicional, para que, si configuramos al sitio 'fuera de línea', aun asi podamos seguir viéndolo nosotros, no así las demás personas (veran el mensaje que hayamos especificado en la configuración). Finalmente se incorporó la directiva '<?php echo $mainframe->getTemplate(); ?>' en la ruta de obtención del estilo en cascada. Esta es la manera genérica para cargar un CSS en Joomla!, así no será necesario poner el nombre de la plantilla para cada index.php que hagamos.

 

  • Mostrar un diseño si tal modulo está publicado. Para eso:

 

PHP
  1. <?php if(mosCountModules('user1')) { ?>
  2. <div class="caja">
  3. <?php mosLoadModules('user1', -2); ?>
  4. </div>
  5. <?php } ?>


Se creó una función condicional, en palabras, si el modulo user1 está publicado - mosCountModules('user1') - mostramos todo que hay entre las llaves contenedoras (el div "caja" y el contenido del modulo). En caso de no estar publicado dicho modulo, no se mostrará nada (ni el div "caja" ni el modulo)

 

Notas aparte sobre el CSS

En la segunda parte del tutorial ponía énfasis en las reglas que vamos a incorporar al body del documento. El problema radica que el editor WYSIWYG de Joomla! toma estas reglas para mostrar el contenido a medida que lo vamos agregando. Si no podemos cumplir con esto, una solución es crear un estilo en cascada aparte y  especificar en las opciones del editor WYSIWYG que cargue a este cuando estamos creando contenido. El archivo en cuestión se llamará 'editor_content.css', lo guardamos junto a 'template_css.css' dentro del directorio 'CSS' y tendrá estas reglas:

 

CSS
  1. body{
  2. margin:0;
  3. padding:0;
  4. text-align: left;
  5. background: #FFF;
  6. background-image: none;
  7. }

 

Lo siguiente será ir a las opciones del editor (Administrador de Mambots --> Editor WYSIWYG TinyMCE) y en la opción Template CSS classes ponemos No. Guardamos y listo, cada vez que estemos trabajando con el editor, el contenido se mostrará según editor_content.css.

Ahora si, eso es todo, sientanse libres de hacer con la plantilla lo que quieran.

 

Descargar Green Joomla!

Template Final

 

 


Tags:  tutoriales joomla template plantilla



 Comentarios (52)
 1 Escrito por infraser, el 10-08-2007 17:41
Gracias por el esfuerzo de hacer este mini-tutorial, y contribuir al conocimiento general.
 2 Escrito por Esther, el 10-08-2007 17:42
Me han ayudado mucho estos tutoriales (las tres partes).Es por ello que me gustaría darte la enhorabuena por tu trabajo. 
 
Muchas gracias!!
 3 Escrito por caymn, el 10-08-2007 17:42
Excelente trabajo, muy util. 
Gracias.
 4 Escrito por carlos, el 10-08-2007 17:43
excelente, especial para los que estamso aprendiendo y metiendonos en el mundo de joomla. muchas gracias
 5 Escrito por Alvaro Galindo, el 10-08-2007 17:44
Excelente tutorial, muchas gracias nuevamente, ademas este blog es digno de premio.
 6 Escrito por Adrián Vergara, el 10-08-2007 17:44
Gracias Leandro, el tutorial es muy útil. Saludos
 7 Escrito por Eduardo Alarcon, el 10-08-2007 17:45
Excelente, debería mencionarse este web en sitio llamados oficiales de joomla. He impreso tu tutorial y pienso leerlo detenidamente. Amigo, Dios te bendiga por tu esfuerzo y generosidad al compartir tus conocimientos. Soy docente de computación, pero ésta no es mi área y siempre renegué de los colegas que "racionan" sus conocimientos, yo brindo a mis alumnos todo lo que tengo. Gracias mil.
 8 Escrito por Rody, el 10-08-2007 17:45
De verdad esto es fantastico, el material es facil de comprender lo explicaste como se debe, felicidades... 
MUCHAS GRACIAS
 9 Escrito por Ulises website, el 10-08-2007 17:46
Excelente tutorial, no habia visto aun uno tan bien explicado como el tuyo. Felicitaciones y gracias por este aporte. 
 
Saludos
 10 Escrito por Claudio Quezada, el 10-08-2007 17:47
Leandro, mil felicitaciones y agradecimientos por estos 3 documentos. Aprovecho de comentar, que con estas indicaciones y el firebug (www.getfirebug.com) crear un template para joomla no debería ser dificultoso, incluso para quienes nos dedicamos sólo por hobby al diseño y creación web. Un abrazo afectuoso.
 11 Escrito por alfviles, el 10-08-2007 17:48
Muchas gracias por este tutorial, es un gran trabajo!! un saludo
 12 Escrito por Newflaco, el 10-08-2007 17:49
Muy buen instructivo para saber y conocer, cada una de las partes de los templates de joomla, pero me he dado cuenta que me falta mucho por aprender, ya que he visto otros templates y son muchos mas avanzados muchas mas ordenes. 
Ayudame con esta inquietud, un "div" en que se parece con una "tabla", ya uqe modifique el archivo index. php que creamos en dreamweaver y colo que todo en tablas y al parecer no tengo errores, pero quiero saber que usar tablas o divs??? 
 
Muchas gracias por todo un tutorial muy bueno.
 13 Escrito por Leandro website, el 10-08-2007 17:50
Bueno, un DIV y una tabla son elementos diferentes, que fueron creados con objetivos diferentes. Utilizar tablas para estructurar una página no es lo mejor, ya que, como dije, fueron creadas para otros propósitos. 
El uso de DIVS tiene varias ventajas, como una carga más rápida de la página, estructura mejor ordenada y más limpia, entre otros. 
Aún así, si usas Dreamweaver y te resulta más fácil armar el diseño de la plantilla con tablas, no hay ningún problema, el resultado va ser el mismo. Saludos
 14 Escrito por carlos jorge vega website, el 15-08-2007 21:12
yo no soy experto ni nada por el estilo, pero tengo un periodico semanal, que hago con las uñas y quiero que las noticias de mi pueblo aparezcan en la red, pero no se como acomodar los banner publicitarios. 
estoy varado. 
no se si me puedan ayudar, yo solo se montar el texto y las foto. 
tengo otro problema, no puedo modificar un articulo, me toca hacerlo de nuevo, por que en la modificación no me abren las imagenes. 
pido ayuda a ustedes que son unos duros, 
Gracias 
Carlos J
 15 Escrito por Ruben Mora website, el 18-08-2007 10:50
Te felicito muy bueno, excelente, saludos
 16 Escrito por jasmani website, el 20-08-2007 19:13
excelente recien estoy creando mi sitio haber si funciona.
 17 Escrito por Manolo Zamora website, el 03-09-2007 23:30
Enhorabuena por tu clara exposición de como personalizar las plantillas ó templates. Llevaba unos días buscando algun tutorial sobre lo mismo y realmente después de leerlo un poco someramente me ha quedado muy claro y conciso. En una palabra -EXTRAORDINARIO-. FELICIDADES.
 18 Escrito por Juanma website, el 05-09-2007 17:27
Solo comentarte que me ha sido de gran ayuda tu articulo, muchas gracias por compartir tu conocimiento.
 19 Escrito por dash3lg website, el 07-09-2007 15:08
Desde ya recibe una felicitación, más claro ni el agua, esas acciones son las que engrandecen al hombre, que te sirva de aliento para seguir apoyando y aclarando nuestras dudas.
 20 Escrito por Ricardo Mora website, el 17-09-2007 15:36
Gracias por el tutorial, tal vez sea el mas claro de todos los tutoriales que he visto
 21 Escrito por Mirko Pavicic, el 27-09-2007 11:53
Estoy construyendo un sitio de biotecnología y no sabía como modificar las plantillas. Con este tutorial se ha resuelto mi problema. Muchas Gracias!!!
 22 Escrito por Juanjo Kerejeta, el 28-09-2007 17:19
Sencillamente y llanamente: muchas gracias. 
Lo que aquí se presenta supone una FENOMENAL ayuda para los interesados en aprender sobre ello. 
Gracias, de nuevo.
 23 Escrito por kmilo, el 02-10-2007 04:27
de este tipo de tutoriales son los que todo el mundo busca para emepzar, muy bien explicado :D. 
 
muchas gracias por tu trabajo
 24 Escrito por carlos, el 06-10-2007 20:14
oye pues muchisimas gracia por este gran aporte a lo qu estamos entrando en este mundo de joomla...felicitaciones y pues ahora nos toca experimentar mas...
 25 Escrito por Jose, el 08-10-2007 14:27
Gracias de verdad, amigo esta espectacular desde la primera parte a la ultima &#
 26 Escrito por b3n0x website, el 22-10-2007 17:06
sigo todos los pasos pero no logro mostrarlo  
 
 
Fatal error: Call to undefined function mosShowHead() in C:\wamp\www\b3n0x\MentesMexicanas\index.php on line 11 
 
 
pf se que es algo stupidoo pero bueno ª1 
 
agradesco su ayudaª
 27 Escrito por El Santo, el 28-10-2007 19:54
Excelente, muy pero muy excelente manual. Estoy siguiendo paso a paso los pasos xD para hacer un template, y me esta funcionando de maravillas..  
 
Ahora si ... a volar la imaginacion xd..!! 
 
GRACIAS
 28 Escrito por 7170, el 29-10-2007 09:42
Excelente tutorial, asi se aprende a hacer Joomla!, muchas gracias
 29 Escrito por Enforcer, el 01-11-2007 12:58
Llevaba tiempo buscando algo asi. 
 
Excelente. 
 
Muchas gracias.
 30 Escrito por Marcos García website, el 16-11-2007 09:44
Bueno... la prueba de fuego.. voy a instalar el template en mi Joomla... 
¡¡deseadme suerte!! 
 
Y por supuesto, gracias por vuestra labor
 31 Escrito por Rino website, el 19-11-2007 10:47
Muchas gracias. Un tutorial excelente.
 32 Escrito por matias website, el 30-11-2007 23:06
Hola!! 
La verdad el tutorial muy bueno!!  
Estoy aprendiendo a instalar un joomla y hacer mi propio sitio web, ahora bien tengo un problemita que quizas me puedas ayudar ya q contas con experiencia!! 
El tema que tengo es de una imagen de background que no me toma el ancho de acuerdo a la resolucion que tengo configurada por ejemplo en 1024*768 anda bien ahora si cambio la configuracion a 800*600 la imagen no se adapta a esa resolucion, hay algo en joomla q debo definir o algo????? 
el codigo es el siguinte: 
 
 
 
 
 
no se bien porque sera ya q la tabla tiene 100% no tienen medida fija!!! 
 
El sitio de prueba para verlo es http://www.italliance.com.ar/apps/larroqueGovAr/index.php 
y la imagen es la que esta arriba con unos fardos y el logo!! 
 
Gracias por la ayuda!
 33 Escrito por Leandro website, el 30-11-2007 23:06
Mmm, ya haz solucionado el problema? porque cambio de resolución pero no encuentro el problema que te refieres, saludos
 34 Escrito por Andres Felipe, el 03-12-2007 17:26
excelente tutorial, me ha servido mucho, pero tengo una duda que no he podido solucionar. Quiero asignar una plantilla para el index diferente a la plantilla de mi aplicación. Agradezco mucho tu colaboración.
 35 Escrito por dragophorek website, el 10-12-2007 22:55
Quisiera agradecerte, el tutorial me ha abierto los ojos a la configuracion de los archivos de las plantillas, es muy bueno en realidad y muy bien explicado, tienes madera de profesor :P ... gracias !
 36 Escrito por Julian B website, el 02-01-2008 13:53
Excelente Tutorial Leandro, muchas gracias por compartir el conocimiento.
 37 Escrito por alepf website, el 04-01-2008 09:42
Muchas gracias por el esfuerzo, me será de gran ayuda.
 38 Escrito por Eduardo, el 04-02-2008 10:20
Leandro: 
Hola, me ha surgido un problema en cuanto a la ubicacion de mis modulos. 
No puedo poner ninguno en la columna del lado derecho. 
Tenes idea de por que puede ser?
 39 Escrito por jairo, el 11-02-2008 11:48
tengo este problema nesecito ayuda please 
Warning: file_get_contents(/var/www/html/Joomla/templates/creando_templates/templateDetails.xml) [function.file-get-contents]: failed to open stream: Permission denied in /var/www/html/Joomla/libraries/joomla/utilities/simplexml.php on line 182
 40 Escrito por Elena Solís website, el 13-02-2008 20:09
oye ya segui todos los pasos del tutorial e incluso pude instalar el ejemplo de la plantilla sin problema y sin tener que comprimirlo a zip porque de esa manera me marca error, pero cuando yo hice mi plantilla me marca que no encuentra el archivo xml de desinstalacion o que el directorio no existe, en ocasiones si me la instala pero k crees? la instala dos veces, me urge esta plantilla ya no se que hacer el codigo esta como debe de ser que puedo hace?? gracias por tener esta documentacion tan buena que me sirvio bastante.
 41 Escrito por Raptor_00 website, el 15-02-2008 19:40
exelente, me ha enseñado muchisimo...
 42 Escrito por javier, el 03-03-2008 14:11
Muy interesante leandro gracias. Pero tengo una duda. Pueden tomarse plantillas previamente hechas para joomla y modificarlas como se enseña en el tuturial?.
 43 Escrito por kurt cobain, el 28-03-2008 10:36
Leandro m.u.c.h.a.s. g.r.a.c.i.a.s.
 44 Escrito por Mirko, el 02-04-2008 15:42
Hola a todos!! Este tutorial estuvo muy bueno, gracias por compartir tus conocimientos Leandro. Ahora tengo una duda, yo trabajo con el joomla 1.5, al cargar este ejemplo se que no puedo usar dicha plantilla ya que esta hecha para joomla 1.0, Como hago para crear una para 1.5 y que pueda usar? Gracias por el tutorial nuevamente amigo.
 45 Escrito por yo, el 09-04-2008 00:44
mil gracias. no borres esots post!!! del tutorial jamas!!!
 46 Escrito por Flora, el 13-04-2008 16:46
Enhorabuena. 
Empiezo hoy en el mundo del joomla y despues de leer tu tutorial creo que me va a ayudar bastante. 
Muchas gracias!
 47 Escrito por Luis Fernando Gomez Muñoz website, el 22-04-2008 20:33
Mil gracias por el mimitutorial. te lo agredesco. ahora si me voy a poner a chambiar duro.  
 
bye 
Cuidate
 48 Escrito por Jairo, el 30-04-2008 17:59
Saludos, amigo este template funciona con la version 1.5 de joomla??lo probe y no me funciono.
 49 Escrito por Victor J. Mosso website, el 01-05-2008 18:35
Hola Leandro: 
 
Felicitaciones!!!!. He chequeado y revisado este trabajo, y con algunos cambios (ligeros)he conseguido verlo trabajando. Es un punto de partida para quienes como YO estamos hace poco tiempo camellando con Joomla. Bienvenido tu trabajo...
 50 Escrito por Joan Peramas website, el 03-05-2008 18:09
Gracias por regalarnos este buen Manual :)


 
Delicious
Mister Wong
< Anterior   Siguiente >