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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

INICIO Y QUE PROVOCA EL ERROR URL AMIGABLES EN JOOMLA

Cuando empezamos con Joomla, normalmente no solemos tocar en configuración global>>Configuracion Seo >> Motor de Busqueda de Urlś Amigable , que esta por defecto NO. Esto hace, creemos MENUS, creemos enlaces en nuestro contenido , con una url poco amigable para los buscadores.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Muchas veces nos puede hacer falta cambiar el formulario de contacto del componente que no facilita Joomla ( Contact ).

formularioContactoNormal

Asi como la imagenes de la derecha es como se normalmente.

Recordar que es hacer overwrite de este componente en nuestra plantilla, los ficheros que encontramos Nuestrotemplate/html/com_contact/contact/default_form.php

Si en nuestra plantilla no encuentras esos ficheros, entonces... crea ovewrite de ellos.

- El cliente nos pide que no pongamos el campo asunto y que pongamos el campo telefono.

Esto ya lo explique como hacerlo en otra entrada.

- Tambien nos pide que pongamos placeholder a los campos indicando ejemplo del contenido que tiene poner.

Despues buscar informacion, encontramos:

- API 3.8 Joomla de Clases JForm:

Donde vemos que podemos añadir attributos al los campos del formulario, sin tener que tocar mucho código.

Con el método getFieldAttribute la clase que ya tenemos cargada en esa vista  ($this->form) podemos añadir un atributo el campo.

El problema surge que cuando intentamos poner placeholder, ya que layout de la libreria de joomla del filed text , no lo entiendo o no la pone...

Encontramos buscando mas informacion encontramos:

- Documentacion field text de joomla

Ahí nos damos cuenta que el atributo para el xml es 'hint' en ve placeholder

Demomento con el cambio nombre campo y css tenemos esto:

formularioJoomlaContactSinPlacerHolder

Tenemos que añadir el atributo hint, que es el que utiliza joomla cuando monta el input para poner como placeholder.

 

$this->form->setFieldAttribute('contact_name','hint','texto_placeholder');

 

Entonces cuando mostramos el campo con :

echo $this->form->getInput('contact_name');

Ya nos muestra "texto_placeholder" en el input

Resultado :

formularioJoomlaContactConPlacerHolder

Otras formas:

- jQuery añadiendo el placerholder a cada campo.

- Overwrite del xml de los campos, aunque nunca lo hice, creo que funcionaría.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El no saber la diferencia entre duplicar y copiar plantilla puede provocar si vas modificar código de una plantilla de joomla no puedas volver a la plantilla original.

¿ 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

Es muy ú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

Esto 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 copias la plantilla desde el gestor de plantillas en personalizar plantilla, el propio Joomla no crea el directorio con la nueva plantilla.

Ese directorio lo encontramos en templates, ahora ya podemos trastear con plena garantía que tenemos la plantilla original queda tal cual.

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

 

Copiar una plantilla de Joomla de forma manual

Copiar una plantilla 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 versión,las posiciones que va tener , los parámetros. 

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 hubiéramos 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 desinstalar 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 sobrescribirá 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 también funciona correctamente.

 

Mas cosas a tener encuentra de las plantillas Joomla

¿Saber cual es la plantilla que usa mi web ?

Esto es algo trivial, pero bueno aun hay gente que lo pregunta, por lo que os comento:

En el gestor plantillas debéis tener un plantilla de sitio como predeterminada, es normalmente es la que usa en toda la web.

Tambien hay quien utiliza varias plantillas para la misma web, algo que para nosotros nos parece una locura, aunque puede surgir la necesidad, esto lo puedes ver gestor plantillas en el campo paginas, donde te podrá:

  • "Sin asignar" : Esa plantilla no tiene paginas asignadas.
  • "Predeterminada para algunas paginas": Esta plantillas tiene paginas asignadas para esa web.
  • "Predeterminada para todas paginas:" Esta plantilla tiene todas las paginas asignadas, lo normal.

Posiciones de nuestra nueva plantilla de Joomla

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

Recuerda que las posiciones , si cambias o pones un nombre que no utilicen otras plantillas, o la ORIGINAL, los módulos 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 módulos en Joomla , y que además podemos crear nosotros los nuestro personalizados.

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

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

 Muy útil para evitar código innecesario 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 parámetros 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.

Además si desinstalamos la plantilla, podremos eliminar los ficheros de lenguaje 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>

También recuerda que la CONSTANTES de lenguaje deben estar siempre en mayúsculas , ya que sino no funcionan.

¿ El CSS nuevo no responde ?

Me surgió 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, pero el tema cache creo recordar que alguna vez me dio la lata varias veces por utilizar el mismo nombre del fichero css.

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

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Crear una vista distinta de un articulo en Joomla.

Simplemente creado la vista en nuestra plantilla en html/com_content/article/nuevavista.php

Y seleccionando en la opciones del articulo :

Presentacion alternativa -> Seleccionamos la nueva vista creada.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Modificaciones CSS

Creando el fichero user.css en templates/protostar, podemos modificar el css de la plantilla que nos ofrece por defecto Joomla.

fuente: https://sergioiglesias.net/blog/joomla/408-css-para-personalizar-la-plantilla-protostar-de-joomla

Menu horizontal

Para poner un menu horizontal en la plantilla protostar tenemos que poner el modulo del menu en la posicion 1 y ademas :

Sufijo de clase Menu : nav-pills

Sufijo de clase Modulo: _menu

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Las posiciones de las plantillas Joomla son donde van los módulos que utilizamos en nuestra web, JOOMLA hasta el momento no tiene un estándar para nombra esas posiciones, por lo que cada plantilla puede nombrar está posiciones como quiere el creador de la plantilla.

Lo que pretendemos con esté articulo es crear un estándar de posiciones, por supuesto para nuestras plantillas, para las plantillas que creemos para Joomla 3.*, basándonos en las posiciones que utiliza las plantillas que trae por defecto Joomla.

Con esto pretendemos conseguimos que la web se pueda ver tanto en nuestras plantillas como las que trae por defecto joomla, algo bastante complejo y que no posible 100% sin cambiar la posición de algunos de eso módulos que utilizados.

Antes de empezar hay que entender que:

  • Una modulo que es muy fácil cambiar de posición desde el gestor de módulos.
  • Que para ver las posiciones de la plantilla que utilizamos podemos verlas si activamos la opción de "Vista previa posiciones de modulos", que viene por defecto desactivado en opciones del Gestor de plantillas.
  • [Más a fondo] La posiciones tiene un estilo el cual puede puede cambiar la presentación y el comportamiento del modulo, este estilo viene predefinido en index.php de la plantilla , aunque en Joomla 3 en el gestor de módulos se pude cambiar.

[Más fondo] Estilos de posiciones de modulos

Los estilos de posiciones de modulos , joomla ya tiene en el sistema unos estandar predeterminado, los cuales es interesante conocer y saber su utilidad.

No encuentro información detallada de estos estilos por lo que poco a poco iré ampliando.

Las plantillas que trae joomla por defecto son beez5 y protostar del sitio. Estás plantillas tiene varios tipos de posiciones, unas son ya estandar de Joomla y otras no.

TIPOS DE POSICIONES ESTANDAR DE JOOMLA

  • none ( Que no pone titulo modulo)
  • xhtml (En la opción de modulos tenemos marcado mostrar titulo, pues lo muestra)
  • table ( Crea una tabla html con el contenido del modulo)

En las plantillas que trae joomla hay varios tipos más, que ya son particulares de ellas. TIPOS DE POSICIONES DE LAS PLANTILLAS POR DEFECTO DE JOOMLA

BEEZ5

  • style beezDivision
  • sytle beezTabs

PROTOSTAR

  • well

Estos estilos y algunos más de sistema podremos seleccionarlos en el Gestor de Modulos, pero no es necesario, ya que la plantilla tendrá uno por defecto para esa posicion que se define en el fichero index.php de la plantilla.

A los creadores de plantillas, normalmente definen los suyos en la plantilla en el fichero /template/nombretemplate/html/modules.php , donde crean una función para cada estilo llamada modCrome_NOMBRESTYLE

En este link de la web documentación oficial de joomla puedes ver más información sobre esto.

 

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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.