Virtuemart

VirtueMart es componente de Joomla que nos da una solución de e-comercio. Ambos tiene la Licencia Pública General de GNU, por lo que son libres para su descarga, uso y modificación.

Te puedes descargar la ultima versión en su pagina oficial de virtuemart. También podrías ver los cambios y como va el proyecto en el repositorio SVN.

El paquete que te descargas trae  3 componente comprimidos, estos se instalan como cualquier otro componente de Joomla  :

  • CORE: El codigo del componente.
  • AIO ( All in one): " Todo en uno" es decir plugins y modules de todo tipo para el componente (formas envío,formas de pago,....)
  • TPDF : Librería que utiliza virtuemart para poder imprimir los pdf que genera.

Tiene una web para la documentación, el soporte en comunidad de Virtuemart  es muy amplia,ademas tiene una API para hacer extensiones o plugin para interactuar con Virtuemart.

Virtuemart fue la primera solución que Joomla se convierta en un e-comerce, ambos fueron de la mano desde sus inicios, hoy en ya existen mas componentes para crear una tienda on-line en tu Joomla, aunque nosotros seguimos siendo fieles a VIRTUEMART, porque conocemos casi a la perfección todo su funcionamiento.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

La idea es crear un repositorio espejo en GitHub del repositorio de virtuemart que esta Subversion.Esto surge despues de ver y preguntar en este hilo del foro de Virtuemart. Nunca trabaje con SVN, soy de GIT. :-)

Lo primero que hacemos es bajarnos el repositorio SVN en local con:

git svn clone https://dev.virtuemart.net/svn/virtuemart

Esta ruta la sacamos de https://docs.virtuemart.net/tutorials/development/100-svn-download.html

OJO:
Tiene que tene instalado el paquete git-svn, si no tuvieras
sudo apt install git-svn

Entonces empieza descargar todo el repositorio y todo su historial, en este caso tarda bastante ya que es muy grande, lleva muchos años el repositorio.

Una vez terminado, una de la primeras preguntas que me hago es, donde tiene guarda la ruta del SVN que clono, ya que con "git remote" no aparece nada.

Buscando informacion en "git svn --help", encuentro:

▶ git svn info 
Path: .
URL: https://dev.virtuemart.net/svn/virtuemart/trunk/virtuemart
Repository Root: https://dev.virtuemart.net/svn/virtuemart
Repository UUID: 87cc427b-4a1e-0410-b729-b2260ec0f063
Revision: 10338
Node Kind: directory
Schedule: normal
Last Changed Author: Milbo
Last Changed Rev: 10338
Last Changed Date: 2020-07-06 11:18:18 +0200 (lun, 06 jul 2020)

Con esto es suficiente por ahora.

Creo una rama llamada svn, para tener todo igual en esa rama, luego vero como sincronizarla.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Con :

  • Php 7.2
  • Joomla 3.9.21
  • Virtuemar 3.8.4 10335

me da un error al intentar cambiar el estado de algunos pedidos.

[Sun Aug 30 20:08:50.604004 2020] [php7:warn] [pid 6369] [client ::1:43724] PHP Warning: strtoupper() expects parameter 1 to be string, object given in /www/Clientes/superoliva/web/libraries/src/Language/Language.php on line 314, referer: http://localhost/Clientes/superoliva/web/administrator/index.php?option=com_virtuemart&view=orders
[Sun Aug 30 20:08:50.604083 2020] [php7:warn] [pid 6369] [client ::1:43724] PHP Warning: strpos() expects parameter 1 to be string, object given in /www/Clientes/superoliva/web/libraries/src/Language/Language.php on line 361, referer: http://localhost/Clientes/superoliva/web/administrator/index.php?option=com_virtuemart&view=orders
[Sun Aug 30 20:08:50.604106 2020] [php7:error] [pid 6369] [client ::1:43724] PHP Recoverable fatal error: Object of class stdClass could not be converted to string in /www/Clientes/superoliva/web/libraries/src/Language/Language.php on line 364, referer: http://localhost/Clientes/superoliva/web/administrator/index.php?option=com_virtuemart&view=orders

 

El problema creo que solo surge en los pedido que tiene un estado creado por nosotros. ( lo texteare mas)

Buscamos cual puede ser la causa y es el fichero administrator/components/com_virtuemart/models/orderstatus.php

Donde veo con la ultima actualizacion de virtuemart cambiaron esto:

diferencias orderstatus

Si dejo la version en rojo (la anterior) , funciona perfectamente.

Bueno, creare un tema en foro de virtuemart, a ver que me comentas.

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

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

 

Introduccion general de configuración

Una vez instalado virtuemart debes ir al CPANEL de virtuemart en parte administrativa de tu Joomla para configuración, en los apartado:

  • Tienda
  • Configuración

La configuración ya predeterminada por defecto, pocas cosas debes cambiar, eso si quieres cambiarlas fíjate en todas la opciones que tiene, ya que en cada apartado tienes varias pestañas.

Configuración

Debes ir la opción de cpanel de virtuemart de configuración, al hacer clic ya puede ver las siguientes pestañas.

Pestañas configuración

pestanha configuracion virtuemart

 

Configuración Tienda

cpanel configuracion tienda

Esta opción se llega pulsado en tienda en cpanel.

Aquí puede poner el nombre la tienda, que va aparecer en los pdf.

También puede indicar el importe mínimo de compra.

Las monedas que aceptas y la moneda por defecto de la tienda.

La imagen que aparece en pdf.

Tiene varios campos para meter una descripción de la tienda, otra para términos de servicio y otra informacion legal.

Metadatos

Yo todas estas opciones que están la pestaña Vendedor, realmente solo pongo Nombre del vendedor , Nombre de la tienda , imagen y asigno monedas.

El resto de campos los gestión a parte con artículos y los muestro yo.

La pestaña de Facturas/Emails es donde puede configurar los pdf que envías, pero realmente tampoco los utilizo suelo hacer overide en mi plantilla para montarlo.

Luego tiene la pestaña comprador, suelo cubrir los datos dirección,ya que son los pone como vendedor también.

Realmente despista un poco estas pestañas, pero si entiendes que el vendedor también puede ser comprador, te es mas fácil de comprender.

 

Estas son las pestañas que puedes encontrar en esta opción, que ya comente.

pestanha configuracion tienda virtuemart

 

 

Si quieres ver la documentación original puede verlo en: http://docs.virtuemart.net/manual

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?