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.

Los editores de Joomla nos da la opción de poner Leer Más con facilidad, simplemente pulsando en el icono leer mas que traen por defecto.

Este icono lo que hace realmente es generar el sigiente código:

<hr id="system-readmore"/>

Está facilidad puede ser a veces un problema por los errores que nos puede generar, influyendo el editor que utilicemos en la instalación Joomla, pueden producirse más o menos errores.

Nosotros utilizamos casi siempre el editor JCE , y al utilizar <<leer más >> nos produce errores igualmente, pero aun no encontramos un editor WYSIWYG por eso seguimos utilizandolo.

La cuestión es que casi todos los editores que probamos al introducir el <<leer mas>> si estamos dentro de una etiqueta, esté elimina esa etiqueta, pero si tenemos varias etiquetas anidadas entonces es cuando surge los problemas.

Con esto quiero decir, que no se puede dar a leer mas (introducir el código), cuando estamos dentro de una etiqueta, si lo hacemos y nos queda una etiqueta abierta, el editor continua perfectamente, pero puede hacernos presentaciones estrañas nuestra web.

<< Me imagino que el editor JCE y otros tiene formas de configurar para evitar esto, pero no las conozco >>

Más información sobre <hr>

Está etiqueta de html indica en:
HMTL5 : Ruptura de temática
HMTL 4.01: Representa una regla horizontal...

Ver más info en w3school

Busqué en GOOGLE este error pero no encuentro nada, debe ser por que es muy obvio.

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.

 

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.

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.

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.

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.

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

 

 

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.

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.

 

 

 

Subcategorías