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.

Para recibir formulario de contacto en nuestro email debemos ir a:

Configuracion Global --> Servidores --> Configuracion email (lado derecho abajo)

configuracion

**En contraseña SMTP , es la contraseña que usas con el correo que pones en Usuario SMTP.

**El servidor de SMTP siempre es mail.xxxx.es , si tubieses un subdominio no lo utilizarias aqui porque con el dominio principal basta! 

ej. olalla.svigo.es  --> Servidor de SMTP: mail.svigo.es

 

Si tu página esta en un subdominio:

La configuracion es la misma, tanto si eligen la funcion SMTP como la de mail PHP.

-SMTP: Simple Mail Transfer Protocol, Protocolo para la transferencia simple de correo electrónico. Protocolo de red basado en texto, utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos.

 

Utilizando JFactory::getDBO() podemos hacer una consulta a una tabla de la base de datos Joomla.

Esto puede ser util si necesitamos algun dato de tengamos en en alguna tabla y la no nos lo proporciona $this que tengamos en ese momento.

El siguiente ejemplo lo prove en una WEB con Joomla 1.5 por lo que no se si funcionará en versiones superiores, aunque me imagino que si.

$db =& JFactory::getDBO();
$query = 'SELECT * FROM `#__nombretable` WHERE nombrecampo = "buscar";
$db->setQuery($query);
$result = $db->loadObjectList();
$cuenta = count($result);

nombretable: es el nombre de la table sin el prefijo que genera automaticamente joomla a la hora instalarlo.

nombrecampo: el nombre del campo queremos hacer comparación de busqueda..

$result es objecto con tantos registros y campos que tiene el resultado de la busqueda .

Por ello utilizo count($result); para hacer un for de busqueda de todos los resultado y el campo que me interesa...

for ($i = 0; $i <= $cuenta; $i++)
{
if ($result[$i]->position = 1)
{
$id2 = $result[0]->filename;
break;
}
}

Aunque al final no utilice este for en la web de lo provee ,pienso que es sencillo de entender que es buscar en los resultado el campo posicion que tenga valor 1 y entonces crea la variable $id2

Bueno, espero que os valga de ejemplo, a mi lo que me dio mśa problema fue poner correcta la consulta (SELECT)

A mi si que vale este ejemplo para recordar en otra ocasión que necesite conectarme y extraer un dato de algun campo de una tabla.

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

Link Referencia:(Esta muy bien, pero el problema que inicia el video al entrar...) http://www.joomlaexperts.es/soporte-joomla/63-menu-horizontal-protostar

Posicion : 1

Sufijo de clase Menu : nav-pills

Sufijo de clase Modulo: _menu

 

 

Una de las preguntas frecuentes de clientes es:
¿Como cambiar el texto de "Leer más" en los articulos (com_content) de Joomla?

El texto de "Leer Más.. " en Joomla puede variar en cada articulo según convenga al autor del articulo, ya que es en la "opciones avanzadas" de cada articulo donde se pueden cambiar.

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 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.

Objetivo de la entrada:

Copiar una plantilla y diferenciar de duplicar

El objetivo principal de este post es enseñar como realizar una copia de la plantilla , para poder trastear con ella sin miedo, ojo que no es lo mismo que duplicar.

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

duplicar

Duplicar en Gestor Plantillas>Estilos no realiza una copia de la plantilla,  lo que realiza es un nuevo registro en la tabla_extensiones y permite utilizar la misma plantilla con distintos parametros.

Esto inicialmente no es lo que buscamos, 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.

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

Estó si que hace una copia de los ficheros de la plantilla , generando una nueva plantilla, este paso antes teníamos que hacerlo manualmente en las versiones anteriores como en Joomla 1.5

OJO QUE NO TODAS LAS PLANTILLAS PERMITEN REALIZAR ESTE PROCESO, ME FALTA ESTUDIAR PORQUE , YA QUE TENGO PLANTILLAS REALIZADAS POR MI, QUE SI LO PERMITE Y OTRAS NO.

CREAR UNA COPIA DE UNA PLANTILLA JOOMLA A MANO

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.

 

ALGUNAS ANOTACIONES SOBRE LA CREACIÓN PLANTILLAS A TENER EN CUENTA.

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 PLANTILLA:

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 pensabamos 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.

ERRORES MÁS HABITUALES AL CREAR UNA PLANTILLA.

¿ 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.

 

 

 

 

 

 

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.

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.

Subcategorías