Joomla

logo-joomla

Joomla es un Sistema de gestión de contenidos (en inglés Content Management System, o CMS) que permite desarrollar sitios web dinámicos e interactivos. Permite crear, modificar o eliminar contenido de un sitio web de manera sencilla a través de un Panel de Administración. Es un software de código abierto, desarrollado en PHP y liberado bajo licencia GPL. Este administrador de contenidos puede utilizarse en una PC local (en Localhost), en una Intranet o a través de Internet y requiere para su funcionamiento una base de datos creada con un gestor de bases de datos (MySQL es lo más habitual), así como de un servidor HTTP Apache.

Su nombre es una pronunciación fonética para anglófonos de la palabra swahili jumla, que significa "todos juntos" o "como un todo". Se escogió como una reflexión del compromiso del grupo de desarrolladores y la comunidad del proyecto.

No es la primera vez que algunos clientes, compañeros y usuarios de Joomla, nos comentaron que hicieron una copia de la plantilla para poder trastear con ella y luego la rompieron, ellos creía que tenía copia de la original.

Entonces ponen como predeterminada la plantilla original y está también esta rota, ya que no copio sino que duplico la plantilla... :-)

Cual es la diferencia entre copiar una plantilla o duplicar

La gran diferencia entre duplicar y copiar una plantilla en Joomla, al duplicar no crea una nueva plantilla lo que hace es un nuevo registro en la tabla_extensiones y permite utilizar la misma plantilla con distintos parámetros.

Duplicar es una opción que nos facilita el gestor plantillas en:

duplicarPlantillasJoomla

Puede ser útil, cuando queremos utilizar la misma plantilla pero con parámetros distintos en varias secciones de la web.

Por ejemplo:

Tenemos una plantilla que nos permite asignar el color fondo con algún parámetro de la plantilla, pues si duplicamos esta plantilla , podemos tener categorías de la web con colores distintos de fondo sin añadir ninguna linea de código.

Copiar una plantilla de Joomla desde gestor plantillas.

Lo que buscamos es tener otra plantilla con otro nombre y poder modificar el código, y poder adaptarlo a las necesidades del cliente, a su vez plantilla totalmente independiente y que podamos instalar en mas lugares.

Hasta la versión 2.5 este proceso se tenía que hacer de forma manual, es decir ir al directorio de templates y copiar nuestra plantilla, cambiar alguno ficheros, volver a comprimir y instalar como una plantilla nueva.

A partir de 2.5 existe la forma de copiar la plantilla ( generando un nuevo código de la plantilla ) desde el gestor plantilla en la parte administración.

 personalizarPlantilla

copiarPlantilla

Estó si que hace una copia de los ficheros de la plantilla , generando una nueva plantilla.

OJO NO SE PUEDE EN TODAS !!!
 No todas las plantillas permiten realizar este proceso, me falta estudiar porque, pero me tengo encontrado alguna plantilla que no lo permite, me imagino que será que el desarrollador de la plantilla tiene que indicarlo.
Aunque no puedo confirmarlo, ya que nosotros tenemos plantillas propias y no hacemos nada especial y si lo permite.

Copio desde el gestor y luego qué?

MiProtoStarUna vez copia la plantilla desde parte administrativa del gestor de plantillas en personalizar plantilla, el propio Joomla no crea el directorio de nueva plantilla.

Ese directorio lo encontramos en templates, ahora ya podemos trastear con plena garantía que tenemos la plantilla original y podemos volver a ella en cual momento.

 Si miedo a que los cambios que realicemos afecten a la plantilla original.

 

Copiar una plantilla de Joomla de forma manual

Copiar una planilla manual, esté método era y es el que utilizamos nosotros habitualmente para hacer una copia de una plantilla y poder trastear con ella, las plantilla que nos nos permiten copiar desde el administrador de Joomla, con este método no tiene medio de evitarlo, ya que es como hacer una plantilla nueva.

A) Decargar los ficheros de la plantilla queremos copiar.

B) Modificar los ficheros que indicamos:

1.- Fichero templateDetails.xml: Este fichero indicamos , el nombre , autor, la version,las posiciones que va tener , los parametros. 

Tambien indicamos los ficheros y los directorios que vamos a subir.

2.- Ficheros y Directorio de Lenguaje: Modificar el nombre de los ficheros de lenguaje, poniendo el nombre de nuevo que hubieramos puesto.

No intentes utilizar o dejar los mismos nombres de fichero de lenguaje , eso te va producir tarde o temprano un error, ya que al instalar o desintalar la plantilla esos ficheros a parte dejarlos en la plantilla , lo mete en las carpetas languages de sites y administrador, por lo que no puede sobreescribirá o borrara el fichero con ese nombre.

C) Instalar Plantilla Nueva:

Antes de hacer este proceso , recomiendo tener una copia de seguridad de la WEB por si hay algo que no funcione correctamente, podamos recuperar lo tenemos hasta ahora.

Una vez instalada, comprueba que funciona todo correctamente, y prueba a desinstalarla y comprobar si la plantilla original tambien funciona correctamente.

 

Mas cosas a tener encuentra de las plantillas Joomla

Una vez tengamos seguro que la plantilla funciona, podemos hacer modificaciones en la plantilla para conseguir adaptarla a nuestro gusto.

Lo primero que solemos quere hacer es añadir posiciones a nuestra plantilla, por lo que debemos tener en cuenta un par de cosas.

Posiciones de nuestra nueva plantilla de Joomla

Recuerda que las posiciones , si cambias o pones un nombre que no utilicen otras plantillas, o la ORIGINAL, los modulos tendrás que ponerlos en esa posición.

Al principio pensábamos que JOOMLA tenía posiciones ya por defecto que tendríamos que poner siempre a la hora crear plantillas, al final nos dimos cuenta que no, que cada creador de plantillas utiliza los nombre de las posiciones de le apetece.

La posiciones una vez puestas en el index.php de la plantilla recuerda que debes añadirlos en templateDetails.xml, se añaden:

<positions>
<position>NombrePosicion</position>
</positions>

La posiciones en index.php :

<jdoc:include type="modules" name="NombrePosicion" style="xhtml" />

El style es algo que debemos tratar en otra entrada, pero debemos saber que hay varios style presentación de los modulos en Joomla , y que ademas podemos crear nosotros los nuestro personalidados.

El siguiente código lo solemos utilizar para que cuando una posición no tenga asignado modulo, no cree la capa contienes esa POSICION.

<?php if ($this->countModules('NombrePosicion')>0): ?>
    <div class="ContenedorPosicion"
    <jdoc:include type="modules" name="NombrePosicionr" style="xhtml" />
    </div>
<?php endif; ?>

 Muy util para evitar código inecesario en nuestra WEB.

Los errores cometidos habitualmente al modificar un plantilla de Joomla

Como llevamos unas cuantas plantillas montadas y modificadas, queremos anotar los errores que nos surgieron .

¿ No muestra el texto en los parametros de la plantilla ?

Este error es el que más frecuente deja de funcionar, ya no cambiamos el nombre de los ficheros de language y no ponemos el mismo NOMBRE que pusimos al crear la plantilla.

Ademas si deinstalamos la plantilla podermos eliminar los ficheros de la plantilla ORIGINAL si no los cambiamos.

Recuerda que el NUEVO NOMBRE de la plantilla no puede tener espacios y es el que definimos en TemplateDetails.xml en la etiqueta:

<name>NombrePlantilla</name>

Tambien recuerda que la CONSTANTES de lenguaje deben estar siempre en mayusculas , ya que sino no funcionan.

¿ El CSS nuevo no responde ?

Me surgio varias veces, pero no siempre, aunque recomiendo que cuando subamos una plantilla el nombre del fichero de css sea el mismos de la plantilla para evitar que se repita con otros css de otras plantillas.

Aunque por lógica no debería afectar, creo recordar que algún editor me dio malas pasadas por esto.

También recuerda que algunos editores, necesitan un css especial en nuestra plantilla si queremos utilizar sus ESTILOS, aunque no son necesarios.

 

Articulos Principales e Introducidos de Joomla

opcionesPlantillaBlog En las Opciones de Plantilla Blog que tenemos en los item de menu o en opciones generales del componente ( content ) .

En estas opciones podemos encontrar:

Articulos Principales: Que los articulos que presentamos al principio, como si fueran los destacados.

Introducción de Articulos: Son los articulos que vamos a mostrar en las columnas.

Columnas: El numero de columnas para introducir el numero de articulos que pusimos en el campo anterior.

Las plantillas que trae por defecto joomla en la instalación ya viene preparadas para mostrar los articulos en columnas y seguramente la vuestra plantilla también.

Maquetación personalizada de la Vista de Blog de nuestra plantilla.

La maquetación personalizada de nuestra plantilla de la vista blog, podremos hacerlo con CSS, simplemente utilizando firebug y viendo las clases que utiliza podremos cambiar su aspecto css.

Si lo queremos es cambiar las capas o crear alguna más entonces debemos cambiar los fichero html de la plantilla que hacen override de la vista del componente com_content.

Directorio /html/com_content de nuestra plantilla.

En el esté link puede obtener más ayuda, aunque aquí muestro las estructura de carpeta de html/com_content solamente

  • /category que son los ficheros que utiliza la vista de blog
  • /article : Cuando muestra un articulo
  • /categories: ¿?
  • /featured: Cuando muestra los articulos destacados
  • /archive: Articulos archivados..¿?

Ahora solo vamos a mostrar los ficheros del directorio /category , ya que es la vista que voy modificar.

  • blog_children.php
  • blog_links.php
  • blog_item.php
  • blog.php
  • default_children.php
  • default_articles.php
  • default.php
  • index.html

Si cambiamos cualquiera de estos ficheros podremos maquetar de forma personalizada la vista de nuestra plantilla.

Cambiar el comportamiento la vista del item para los articulos principales o introducidos.

Hay dos forma según las necesidades aunque recomiendo la primera.

1.- Crear nuevas vista blog_item

Crear un fichero nuevo blog_itemprincipal, y en el fichero blog.php cambiar la linea donde $this->loadTemplate (item) por $this->loadTemplate (itemprincipal)

Recuerda que el nombre del fichero no puede tener mayusculas que loadtemplate

<?php if (!empty($this->lead_items)) : ?>
<div class="items-leading">
<?php foreach ($this->lead_items as &$item) : ?>
<div class="leading-<?php echo $leadingcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>">
<?php
$this->item = &$item;
echo $this->loadTemplate('item');
?>
</div>
<?php
$leadingcount++;
?>
<?php endforeach; ?>
</div>
<?php endif; ?>

Una vez tengamos ese fichero, pues podemos modificar el comportamiento para los articulos principales en blog_itemprincipales o para los articulos introducidos en blog_item.

2.- Utilizando el mismo fichero blog_item para las dos

Es la forma que tiene normalmente la plantillas, pero podemos hacer comportamientos distintos entre articulos Principales o Introducidos, para poder hacerlo tenemos que identicar en que item estamos.

Para poder identificar en item estamos en el fichero blog_item podríamos ver el array que carga el componente para de los articulos principales con :

$this->lead_items

Y luego simplemente tendríamos que comprobar que id del item en el que estamos no esté en ese array o si , para saber si el item en el que estamos es PRINCIPAL o INTRODUCIDO.

Y partir de ahí realizar lo queramos conseguir.

Objetivo del Plugin: Include Component

El objetivo principal de este plugin es poder incluir un componente en cualquier sitio de Joomla.

Con esto quiero decir, que los creadores de esté plugin, nos proporcionan funcionalidad a joomla que es impresionante, ya que así podremos de una forma muy sencilla aprovechar todas las extensiones y funciones Joomla en cualquier momento y en cualquier lugar de la WEB.

Aquellos como nosotros  que creamos proyectos WEBS con Joomla, seguro que este plugin nos es muy util en un montón de ocasiones para solucionar muchísimos problemas que nos vamos encontrado.

DESCARGA Y INSTALACIÓN DE INCLUDE COMPONENT.

El plugin se encuentra en la web extensiones de Joomla, donde podemos ver la demo, descargarlo y ver las críticas o elogios de la comunidad.

Al descargarlo nos lleva a la plataforma de control de versiones de joomlacode. En principio debemos fijarnos en que versión vamos a descargar para que sea compatible con nuestro Joomla.

El plugin no está preparado para traducciones por lo que solo tendremos en ingles.

En este link de WEB EMPRESA podemos encontrar como instalarlo y activarlos.

Como utilizar INCLUDE COMPONENT:

Pues una vez activado y configurado a nuestro gusto, normalmente ya viene correctamente para su funcionamiento la configuración, podemos utilizar el plugin donde queramos , en un modulo, en un articulo... 

Utilizando el siguiente código:

{ component url='index.php?option=com_component&Itemid=73&parameters....'  }

Para meter link podemos utilizar el mismo generado por nuestros item de menus.

Donde los utilizamos INCLUDE COMPONENT nosotros:

Como ya dije, este plugin es muy util y por ello vamos a poner alguno link a webs donde lo utilizamos y indicando para que.

evigo.es

Para añadir de una forma organizada y con más información los agregadores de RSS que nos facilita Joomla.

Es decir poder crear un categoria en contenido de medios prensa, poder añadir el medio en un articulo y poder añadir el agregador noticias externas en ese articulo.

 

 

 

Si estás buscando un PLANTILLA PARA JOOMLA, nosotros te informamos sin compromiso. CONTACTAR con SOLUCIONES VIGO

Visión : 

img-articulo-joomla-plantillas-parte1

El objetivo es conseguir mostrar el funcionamiento de las plantillas en Joomla. Este manual usuario es para versiones de Joomla 1.6 hasta 3.0, aunque esta ultima cambia la estetica bastante en comparación con las anterires.

La versiones de Joomla 1.5 no tienen todas las fucionalidades de que mostramos.

Hay varios MANUALES DE USUARIO de Joomla:

Hay muchas webs con manuales de uso de Joomla donde explican y muy bien todo el funcionamiento de las plantillas de Joomla, como instalarlas y que funcionalidad tienen, también desde la parte administrativa podras encontrar un icono de ayuda donde nos lleva a a siguiente link, lo explica en ingles , bastante bien. 

Pero el principal objetivo de esta entrada es apuntar y aclarar algunas punto que pensamos que son importantes entender.

Duplicar plantilla en el nuevo gestor de plantillas de Joomla.

img-articulo-joomla-plantillas-gestorplantillas25-1

Como indica en la imagen , el icono que tenemos de duplicar, lo que hace realmente es darnos la opción a tener la misma plantilla pero con selecciones distintas de sus parametros, para poder utilizarlos en alguna de nuestras secciones de la web.

Es algo interesante , y sobre todo muy util sin nuestra plantilla tienes parametros que pueden gustarnos varias opciones para distintas secciones de nuestra plantilla.

Claro esta que la plantilla tiene que tener parametros creandos, sino no tiene sentido está opción de duplicar esa plantilla.

La opción de duplicar plantalla no duplica codigo de plantilla.

Realmente para aquellos usuarios que ya se atreven a cambiar algo de código en las plantillas, pueden llegar a pensar que así tendrían una copia de su plantilla , le recordamos y advertir  que está opción no duplica la plantilla realmente, solo duplica el registro en la tabla de la base de datos.

Vea la entrada que tenemos "Crear una version de una plantilla" donde explicamos como duplicar una plantilla en código.

Fuentes y Referencias sobre Joomla 2.5:

Post de Captus: En este post un poco novedades de Joomla 2.5

Otras Referencias de lugares donde puedes descargar plantillas gratis de 2.5

Joomla24.com: Puedes encontrar plantillas para varias versiones joomla.

Joomlaos.com: Donde tanto puedes encontrar plantillas, como extensiones para varias versiones de Joomla

Taringa: Un post donde lista plantillas para joomla 2.5 gratis.

Un modulo nativo de los más utilizados por nosotros, por la facilidad que nos permite añadir contenido.

Incluso podemos añadir instrucciones ejecucción de plugin, que nos hacer que este modulo sea mucho más vestatil.

Nosotros no somo partidarios de instalar muchos modulos de terceros, somos más partidarios de reutilizar modulos nativos, incluso copiarlos para añadirles más caracteristicas.

Normalmente es muy fácil poder duplicar un modulo, pero en este caso el mod_custom nos trajo alguna complicación.

Por ello analizamos a fondo el funcionamiento interno de este modulo, el uso a nivel de usuario hay ya mucha información en la red.

[PENDIENTE]CARGAR LINK DE AYUDA MODULOS PERSONALIZADOS.

CÓDIGO DEL MODULO COSTUM

Realmente este modulo no tiene mucho que explicar.

Tiene los siguiente fichero y carpetas:

- mod_custom.php

- mod_custom.xml

- DIRECTORIO: tmpl

El directorio tmpl, es donde podemos encontrar la vista por default, que podemos realizar overwrite para nuestra plantilla.

Lo más curioso y lo que nos hace que no podemos copiar el modulo y cambiarle el nombre y poder modificar el funcionamiento de este, es que este modulo en la parte administrativa carga una seccion llamada "Salida Personalizada" y no esta indicada en los fichero del código del modulo.

Esto es debido que la extension "Gestor de modulo" tal como conocemos en la parte administrativa , es un componente de la parte administrativa ( com_module), y es esté componente el que añade la sección del modulo custom ( "Salida Personalizada" ) por lo que si queremos que la añada en otro modulo tendriamos que cambiar el código del "Gestor de modulos" ,algo por lo que nosotros no estamos de acuerdo ,ya pertenece para nosotros al nucleo del Joomla.

Ficheros de com_module donde realiza la carga sección "Salida Personalizada"

com_module/views/module/edit.php


$hasContent = empty($this->item->module) || $this->item->module == 'custom' || $this->item->module == 'mod_custom';
/* Lineas adelante pone el siguiente código donde inserta la secciónd de "Salida Personaliza "*/
<?php if ($hasContent) : ?>
        <div class="col main-section">
        <fieldset class="adminform">
            <legend><?php echo JText::_('COM_MODULES_CUSTOM_OUTPUT'); ?></legend>
            <ul class="adminformlist">
                <li><?php echo $this->form->getLabel('content'); ?>
            <div class="clr"></div>
                <?php echo $this->form->getInput('content'); ?></li>
            </ul>
        </fieldset>
        </div>
<?php endif; ?>

Con esto nos obliga buscar otra solución para cuando queramos cambiar el funcionamiento o el uso del mod_custom

BUSQUEDA DE MODULOS EXTERNOS SIMILARES.

Antes ponernos a idear soluciones para lo que pretendemos hacer, nos ponemos a buscar otro modulos que sean similares.

Modulo Custom Advanzado: Este modulo simplemente utiliza la creación de campos texto, lo descarto ...

Ad Single Article: Este modulo es muy simple, lo que hace es añadir el contenido de un articulo dentro del modulo, por lo que podemos ponerlo en las posición que le indiquemos.( Muy util)...

 

 

 

 

En Joomla 2.5 y 3+ tiene una funcionalidad para ocultar los email.

Esto es recomendable, por eso debe ser que ahora las ultimas instalaciones que realice de Joomla 3.4.1 me está surgiendo algunos problemas cuando el contenido tiene un email, ya que este genera un javascript para poder ocultar los email, pero me está dando problemas con otro componentes o modulos que tiene javascript.

Por ello , yo desactivo el plugin : Contenido - Enmascarar correo ( emailcloak ) que trae joomla activa por defecto mientras no encuentre otra solución.

De todos modos si quieres utilizar la funcion de joomla en tus modulos o componentes en este link puedes encontrar más información.

Nuevo módulo de Búsqueda corrigiendo error y mejorando el módulo nativo (mod_search)

Partiendo del módulo mod_search creamos uno nuevo solucionando el problema de que encontramos en módulo nativo, que al hacer una busqueda el resultado lo muestra pero no asociado a ningún tipo de item, es decir no busca en los menus un item de menu donde tengamos la lista de los resuldados de búsqueda, que es lo creo que debería hacer.

El objetivo de está entrada es iniciarnos para crear nuestros plugins para Joomla, ver el potencial que tienen e incluso poder modificar el funcionamiento de alguno.

Para ello os pongo el ultimo de una serie vídeos que organizo Desarrollo Web en sus Hangouts, con titulo: "Programación con Joomla"

En estos participarón muy buenos programadores aportando su experiencias, tengo que nombrar a dos de ellos, los conocemos y tenemos muy buenas referencias de ellos:

  • Roberto Segura
  • Isidro Baquero

Video de ultimo de serie de programación en joomla.

Algunas anotaciones iniciales y genereales

- Potencia que tiene los plugins

- No es más pesado, ni influye negativamente en el rendimiento el utilizar plugins.

- Utilizar plugin hace que podamos re-utilizar con más faclidad nuestro código.

- "Los plugins se insertan despues de eventos "

 

Con el cambio de ley de LOPD en españa el 25 mayo 2018, no pusimos a buscar soluciones para nuestros cliente que cubran todos los aspectos legales que pide esta ley.

Encontramos la extensión creada por Joomla! Extensions Store -> GDPR. Link a descarga extension .La instalamos para probar su potencial, de inicio me encuentro que solo tiene los idiomas de ingles y italiano, por lo que hago una traduccion language al español, un poco chafa... :-)

Link a github donde tengo los paquetes laguage en español de extension GDPR

 Mirar que pinta.

Subcategorías