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

Fuentes sobre como trabajar con la session de Joomla

En la documentación de Joomla encuentro el siguiente post:

¿ Cómo acceder a variables de session asignadas en Joomla desde un script externo ?¿ Cómo acceder a variables de session asignadas en Joomla desde un script externo ?

CMS 3.9 API -> SESSION

 

Marco JFactory::getSession() los envios que hace un usuario de enviar un formulario

La idea es guardar una variable en la sessión los envios de un formulario de una session. ( usuario)

En el metodo submit de nuestro modulo o componente, podemos poner:

$session = JFactory::getSession();
// Comprobamos si la session ya envio el formulario.
if (empty ($session->get('intentos'))
{
// Quiere decir que ya se mando el formulario .
$intentos = $session->get('intentos') + 1;
$session->set('intentos',$intentos);
} else {
$session->set('intentos',1);
}

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Hago este post para saber si merece la pena o si hay algo hecho para resolver este problema en el componente multimedia de Joomla.

Explicación problema que veo en componente multimedia.

En la parte administrativa cuando una web quiere organizar las imagenes en varias carpetas esta muy bien, lo que no esta bien es que el componente en el menu izquierdo, el que lista carpetas, que las  muestre desplegable todas, ver imagen:

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

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

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

JHtml::tooltip es el metodos que utiliza Clase HTML  que nos proporcina Joomla para los "tooltip" , es decir: los elementos visuales que aparece en la pantalla para dar ayuda a la hora de utilizar algún elemento de la página.

En la api de joomla podemos ver la siguiente definicion del método:

Crea un boton con una imagen y con informacion de ayuda.

tooltip(string $tooltip, mixed $title = '', string $image = 'tooltip.png', string $text = '', string $href = '', string $alt = 'Tooltip', string $class = 'hasTooltip') : string
static
desde

1.5

Arguments

$tooltip

(string) Lo queremos que muestre en la ventana emergente

$title

Mixto (string) o (array) Donde podemos poner el titulo de la ventana emergente. Si recibe un array asociativo, pues ya entiende como los otros paramentros, {'title','image','text','href','alt'} , nunca probe con array, tendré que hacerlo :-)

$image

(string) La imagen que hace boton, si no se proporciona ningún texto, entiendo que si proporcionamos texto no muestra la imagen.

Algo a tener en cuenta es que no ponemos la ruta completa la imagen, solo el nombre, joomla por defecto la obtiene de /media/system/images , pero podemos realizar overwrite en nuestra plantilla como indica aquí, aunque tengo que deciros que a mi no me funciono correctemente, según parace tenemos que poner el /nombreplantilla/nombreimagen , aunque esta imagen estes en nombreplantilla/images/system/nombreimagen.

A mi me funciono solo poniendo la imagen en el template/system que trae por defecto joomla.

$text

(string) El texto queremos para tooltip.

$href

(string) La URL queremos linke en caso pulsar en ella.

$alt

(string) El atributo alt de la imagen.

$class

(string) Clase para todo contenedor del tooltip.

Response

string

 Con este articulo (post) también sabemos como cambiar los tooltip (images) , por ejemplo cambiar los iconos que trae com_contact (contacto) en los campos telefono, web...

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En un cliente que gestionamos, al pinchar en el instalador, ponemos imagen de como nos debería aparecer:

instaladorJoomlaCorrecto

Pero lo que nos  aparece es:

InstaladorJoomlaIncorrecto

Como se puede ver en la imagen, solo tenemos la pestaña "Instalar desde la Web", nos dice que tenemos que habilitar algún plugin de instalación.

PluginDeInstalacion

Pero realmente estan activos.

¿ Posible causa ?

Para saber cual es la causa nos tenemos retomar a copias anteriores para poder saber cuando se produce el error.

Llegamos a la copia en la que actualizamos hacer ya muchos meses:

Hay una actualización disponible para Joomla.

Está en el canal de actualización "Predeterminado" - Mediante este canal va a recibir notificaciones para todas las actualizaciones de la liberación actual de Joomla (3.x)

Versión de Joomla instalada 3.5.1
Última versión de Joomla. 3.6.5
URL del paquete de actualización https://downloads.joomla.org/cms/joomla3/3-6-5/Joomla_3.6.5-Stable-Update_Package.zip
Información adicional Joomla!

Ahí el instalador estaba correcto...

Actualizamos a la version que nos indica, pero nos damos cuenta que no pide que confirmemos el usuario y la contraseña, efectivamente ahí fue el problema, en ese momento no disponiamos de la contraseña de ese usuario o no lo tomo correctamente.

No sabemos muy bien porque, pero recordamos que hicimos un reseteo de la contraseña desde la bases datos y pusimos la funcion MD5 en la contraseña y nos dejo entrar en el administrador.

Pero realmente no identificaba la contraseña... ¡¡ Algo extraño !!

¿Como lo solucionamos ?

Obteniendo una copia anterior en la que no estaba el error, como esa web, con suerte no tiene cambios, podemos restaurar copia y hacer actualizaciones correctas..

Y volver a ponerlas en produccion.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Muchas veces cuando intentamos actualizar Joomla desde la parte administracion de Joomla , pulsamos actualizar y se nos queda en blanco, sin llegar mostranos la barra de proceso de actualizacion,  sin indicarnos que sucedió, cual fue el error.

Lo primero es borrar el cache de la pagina desde la parte administrativa. Si aun así sigue fallando, recomiendo ver los parametros de subida de nuestra configuracion de php, ya que la mayoria de las veces es porque tenemos la variables php.ini muy bajas.

upload_max_filesize = 2M
post_max_size = 8M

En la parte administrativa en el menu Sistemas>Informacion Sistema > Informacion php .ini , podéis verlo, pero no podreis cambiarlo.

Os recomiendo poner 10m en las dos variables, asi no tendréis problemas , solo que el paquete que instentas actualizar pesará mas.

En algunas instalaciones que tiene Akeeba y tiene el sistema ( nose como se llama) de realizar una copia de seguridad antes actualizar, recomiendo desactivarlo ya que muchas veces es el causante del problema.

Eso sí, siempre antes de hacer una actualización nosotros recomendamos realizar una copia de la web, porque nunca se sabe si saldrá todo bien.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En un proyecto que acabamos realizar ( superoliva.es ) , el cliente tiene productos que su precios es por KILO y se venden por gramos, la solucion idonea sería crear un plugin para virtuemart que cambiara el importe del producto una vez selecciones una cantidad de gramos.

NOTA: Nos dimos cuenta que virtuemart no permite decimales en la entrada de un pedido, tiene que ser entero.

Nuestra solución para poder vender gramos de un producto.

Por falta de tiempo y presupuesto, la solución que hicimos es utilizar el plugin de trae virtuemart de campos personalizados, creamos uno de tipo cadena , y una vez guardado lo configuramos para el precio del producto se recalcule -% segun los gramos comprados. (seleccionados)

Para configurar el plugin cadena para utilice un porcentaje, se hace una vez guardado el campo personalizado , al editarlo nos aparece.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Crear un select en productos virtuemar para opciones del producto.

Muchas veces nos hace falta que poder seleccionar en un producto su color, su talla o lo que se nos ocurra.

En virtuemart , en menu de productos podemos crear un campo personalizado tipo cadena , que luego podermos añadir a cada producto esos campos.