CMS
Nos enfocaremos en los CMS más populares programados en PHP, como Joomla, Wordpress, Drupal y Prestashop, que utilizan HTML, CSS, JavaScript y PHP con alguna otras bibliotecas.
Si buscas un programador de cms te puedo ayudar esta entrada.
Fuentes sobre como trabajar con la session de Joomla
En la documentación de Joomla encuentro el siguiente post:
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);
}
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:
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
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...
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.
En un proyecto que acabamos realizar ( superoliva.es ) , el cliente tiene productos que su precios que son por KILO y se venden por gramos o kilos el producto.
La solucion ideal sería hacer 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.
La solucion mas sencilla , no la ideal, pero siempre nos aptamos al presupuesto, 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 -% .
Para configurar el plugin tipo cadena para utilice un porcentaje, se hace una vez guardado el campo personalizado.
Al editarlo en el campo multiply podemos utilizar : base_productprice o base_variantprice
Este ultimo es el que utilizamos.
Muchas veces nos puede hacer falta cambiar el formulario de contacto del componente que no facilita Joomla ( Contact ).
Recordar que es hacer overwrite de este componente en nuestra plantilla, los ficheros que encontramos Nuestrotemplate/html/com_contact/contact/default_form.php
En un cliente que gestionamos, al pinchar en el instalador, ponemos imagen de como nos debería aparecer:
Pero lo que nos aparece es:
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.
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.
Antiguo:
Ya no utilizo este componente, ahora utilizo el componente que trae integrado directamente Joomla , muy bueno y practico. Sin tener que pagar y además se actualiza con el core de joomla directamente.
Ayuda de como usar el componente privacidad de Joomla en la pagina oficial de Joomla
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.
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.