Componentes

componentes

Un Componente también conocida como extensiones, es un programa que insertamos dentro de nuestro Joomla. Sólo puede haber un componente activo por página. Son los elementos más complejos que podemos instalar en Joomla.

Por lo general los componentes tienen dos partes bien diferenciadas la parte BackEnd y otra FrontEnd. En la Administrativa (BackEND) podemos ver sus configuración y más acciones administrativas

Los componentes son las partes software de nuestro portal, que le dan la funcionalidad básica al mismo.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

A veces la cosas mas sencillas parecen muy compleja

El cambiar un precio a virtuemart es muy sencillo, pero virtuemart no hace que sea de forma intuitivo.

Ejemplo de cambio de precio:

1.- Tenemos un producto con un precio determinado , en este caso un ZZ que cuesta 2.19€, precio con iva incluido.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El objetivo es tener claro que hace cada fichero de la vista user de virtuemart para  poder montar a nuestro en la plantilla que utilicemos en :
/templates/nuestraplantilla/html /virtuemart/user/

Overrides de views de Virtuemart

La vista user de virtuemart utiliza los siguiente ficheros:

  • user/edit
  • user/edit_shopper
  • user/edit_vmshopper
  • user/edit_address
  • user/edit_address_userfields
  • user/edit_address_addshipto

Fichero user/edit

Este fichero debería ser el que cargue primero siempre al editar cuando estamos tratando datos de usuario de virtuemart, pero no es así, ya que este fichero no se llega siempre, solo se llega:

  • Desde el Item de menu "Muestra el mantenimiento de la cuenta del cliente".
  • A la hora de hacer registros usuarios nuevos, si lo hace Virtuemart. (al instalar virtuemart en el plugin "VM Framework Loader" viene por defecto )
  • Desde botton o link que "nueva dirección" dentro de la fichero edit_address_addshipto

Hay que tener en cuenta que el registro de un usuario nuevo se puede realizar desde un item de menu (normalmente) o desde el propio carro, desde el boton "Añadir/Editar información de facturación", lógicamente cuando no esta identificado y no se permite la compra como invitado.

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

Hace mas 8 años que empecé a utilizar Joomla y lo primero que pensé fue en crear mis propios componentes.

Hoy en día hago mis pinitos como desarrollador de componentes de joomla, no soy experto, pero me voy defendiendo (ver mi github). Mis inicios fueron frustrantes, la cantidad de ficheros que hay crear para un componente se hacía una faceta compleja y desesperante. Esté es el motivo de esté articulo, conseguir una guía de lugares y métodos para crear un componente y no morir en el intento.

Anibal Sanchez
"En honor a la verdad, un componente mínimo solo necesita tener un solo archivo com_foo.php y opcionalmente un router. El resto es para seguir las prácticas del JFramework."

Realmente es muy cierto, solo haría falta un fichero. :-)

Mis primeras busquedas para desarrollar una extension en Joomla.

Empecé buscando aplicaciones que me ayudarán a crear componente de forma sencilla y las hay, me imagino que con la practica se puede hacer útiles para componentes sencillos.Algunas de esas aplicaciones y extensiones:

Hoy en día no las utilizo, porque soy un poco de los que piensa que es bueno crea la rueda varias veces antes de simplemente utilizarla :-)

 

Documentación de como crear una extensión de Joomla :

Listado sitios que me parecen interesantes y que algún momento me util para crear un componente en Joomla:

 

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

Una vez instlado virtuemart deber fijarte en los aparatado de su cpanel. ( parte administrativa)

  • Tienda
  • Configuracion

En configuración debemos indicar las ruta segura donde virtuemart va guardar los pdf de los pedidos, albaranes y facturas.

¿ Registro de usuarios de virtuemart o de Joomla ?

Por defecto virtuemart trae marcado que la gestion de usuarios sea realizada por virtuemart.

Hace años era lo habitual, yo creo que hoy en día con el componente  que trae joomla de GPR , es conveniente cambiar esta opción por que controle el registro de usuarios Joomla.

¿ Donde podemos cambiar control de registros de virtuemart?

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.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Akeeba es una de esas extensiones que utilizo en todas mis webs, por la sencillez y eficacia, no puede faltar en ninguno de mis proyectos.

Ahora en la version v6.4.0 me genera un error al restaurar una copia.

No se si es un error de mi copia o un error de la version del componente, aunque me temo lo ultimo.

Captura de pantalla de 2019 02 27 09 48 47

 

La solucion es sustituir la linea 12  del fichero instalation/sql/site.sql por :

CREATE TABLE `#__akeeba_common` ( `key` varchar(192) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

Solucion ofrecidad por Nicolas el creador componente:

Aunque a la hora reportar el error en siguiente link, recibo una respuesta automatica diciendo que no responden, que si quiero una respuesta le mandemos un ticket ( cosa para hacerlo hay que tener una subcripción ).

Al día siguiente de enviar el error recibo una respuesta de Nicolas diciendo:

Before database restoration set:

Allow UTF8MB4 auto-detection : No
Force UTF-8 collation on tables : Yes

Como mi ingles es muy malo , me ayudo de Google y :

Antes conjunto de restauración de base de datos:

Permitir UTF8MB4 detección automática: No
Fuerza UTF-8 de colación en las tablas: Sí

En la nueva restauración que hice probé a cambiar la configuración y fue correctamente.

configuracion error 640 akeeba

MUCHÍSIMAS GRACIAS NICOLAS POR CONTESTAR.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Es un componente de gestion vales de descuento, con muchas más opciones que el de virtuemart:
Se puede encontrar en : http://awodev.com/products/joomla/awocoupon

Tiene una versión gratuita y una version de pago  por : 43,99€ (PRO)

La version gratuita , no se donde descargarla ahora. Para aquellos que tiene la versión ( como es mi caso) sigue teniendo actualizaciones.
Ademas este componente fue retirado de gestor extensiones joomla por una advertencia en
la licencia.
UR9: Violation - Licensing Restrictions
https://extensions.joomla.org/extension/awocoupon-starter/

¿ Problemas encontrados?

  1. Los cupones existentes los importa automaticamente al instalar, pero quedan desactivados, me imagino que es por motivo de la importación, esto simplemente entrado en ellos ya se activa.
    por lo que de inicio queda desactivados, tiene que activarse..

Hay que tener en cuenta tambien que los cupones de virtuemart  siguen , pero aunque añadas no funciona y no se añaden automaticamente al componente AwoCoupon.

Tiene GIT por lo aportare el error.

https://github.com/awodev-virtuemart/com_awocoupon/releases