Nacido un 29 de febrero, a mis 27 años comienzo a escribir este blog, sin una idea definida sobre que..., pero creo que sera importante algun dia tener uno de estos...
A diferencia de otros tutoriales que explican como crear un template para Joomla!, en este, no sera necesario ningún programa del tipo Dreamweaver, ni nada por el estilo, tan solo un editor de textos y conocimiento básico de HTML, CSS y PHP (no mucho).
La estructura básica de un template de Joomla! consta de:
'Index.php' el cual contendrá el HTML y las directivas PHP;
'TemplateDetails.xml', esencial para la instalación del template y su reconocimiento en la administración;
Una carpeta llamada 'css' que contendrá el estilo en cascada 'template_css.css';
Una carpeta llamada 'images' que contendrá las imágenes utilizadas para el diseño de la plantilla;
'Template_thumbnail.png', una pequeña imagen que funcionará como previsualizacion del template en la administración.
Por lo tanto un template en Joomla! tendrá la siguiente apariencia:
Todos las plantillas van alojadas en la carpeta 'templates', dentro del directorio raiz de Joomla!. En este caso la plantilla será de tres columnas, header y footer [ Ver Layout ] [ Descargar ]. No es la esencia de esta guia explicar cómo crear el layout, existen varios sitios para descargarlos y ahorrar trabajo.
Creación del index.php. Con tan solo saber como se desempeñan tres funciones PHP y dos variables ya se puede empezar con la creación del index...
Funciones:
mosShowHead(): Esta función al invocarla muestra la información metatag, el titulo y favicon. Se lo usa entre y .
mosMainBody(): Se utiliza para mostrar el cuerpo principal del documento. Se lo usa en el body del documento.
mosLoadModules (): Carga los módulos en una posición predispuesta y en un estilo determinado. Para eso posee dos parámetros (posición , estilo). El primero dirá que módulos cargar (left, right, user1, user2, user3, top, etc). El segundo parámetro dirá en que forma cargarlos: 1= horizontal (cada modulo se cargan en celdas en una única fila), 0= normal (cada modulo se cargan en celdas en una única columna), -1= raw (los módulos se cargan en bruto y sin título), -2= XHTML (muestra a los módulos en divs), -3= extra divs (similar al anterior, pero con más divs). De esta forma si tenemos mosLoadModules (left, -2) cargará los módulos predispuestos en la posición 'left' y los mostrará en diferentes divs. Otro ejemplo. Si tenemos mosLoadModules (user2, 1) cargamos los módulos predispuestos en la posición 'user2' y los mostrará de manera horizontal.
Variables:
$mosConfig_live_site: Esta variable contiene la URL del sitio en cuestión. Asi por ejemplo la variable $mosConfig_live_site para este sitio es http://www.leandrodonofrio.com. Se la utilizará para cargar el CSS.
$mosConfig_sitename: Contiene el nombre del sitio en cuestión. Asi la variable $mosConfig_sitename para este sitio es Leandono´s Blog.
Con esto ya podemos empezar. El paquete de descarga del layout posee dos archivos, 'index.html' y 'main.css'. Al estilo en cascada lo renombramos 'template_css.css' y lo guardamos en la carpeta 'css' anteriormente creada. En tanto que a index.html lo abrimos con nuestro editor de textos. Veremos un código similar a:
Lo que haremos será copiar todo el código y pegarlo en un nuevo archivo. Este último lo guardamos como 'index.php' y lo metemos dentro de la carpeta de nuestro template. Lo siguiente será insertar las funciones PHP y las variables para cargar el contenido a nuestra plantilla. Para eso abrimos el archivo recién guardado. Empezaremos por la cabecera del documento:
Lo primero que se hizo fue mostrar toda la información metatag, titulo del documento y el favicon. Esto se hizo con la directiva . Por otro lado utilizando la variable se cargo el estilo en cascada del documento guardada en la carpeta 'css' dentro del directorio de nuestro template (nombre_del_template). Esta carpeta se ubicará en el directorio 'templates' cuando hallamos instalado la plantilla.
Siguiendo con el header del documento lo que haremos será mostrar el nombre del sitio y linkearlo:
Con estamos mostrando el nombre del sitio. A su vez se utiliza para poder crear un link.
Lo siguiente será cargar y mostrar el contenido principal y los módulos:
PHP
"leftcolumn">
mosLoadModules ('left',-2);?>
"content">
mosMainBody(); ?>
"rightcolumn">
mosLoadModules ('right',-2);?>
La lectura del documento es fácil. En el div 'leftcolumn' cargaremos los módulos predispuestos en la posición 'left' (). Estos serán mostrados en diferentes divs. Lo mismo sucede con el div 'rightcolumn' y los módulos en posición 'right' (). Mientras tanto, el contenido principal del documento se muestra en la columna central a través de .
Finalmente nos queda el footer. Aqui podemos poner lo que queramos o incluir los datos predispuestos en 'footer.php'. Para eso:
PHP
"footer">
include_once('includes/footer.php'); ?>
Editando el archivo 'footer.php' (dentro del directorio 'includes', en la carpeta raiz de Joomla!) podremos cambiar la información a mostrar. Y asi terminamos el 'index.php', el resultado final es:
Con gustos variados, como la musica de Silvio Rodriguez con su rabo de nube, trovador por convicción, sin rutina fija, viviendo al dia, algo previsor y soñador, pienso en el mundo que le vamos a heredar a nuestros hijos.
Todas las mañanas despierto con nuevas energias y la hermosa imagen de la mujer a quien amo y que esta a mi lado, para darle su buenos dias, un beso y continuar con lo siguiente...