Modificar código pr...
Avisos
Vaciar todo

Modificar código precios virtuemart de plantilla  

 
NeroCaes
 NeroCaes
Estimable Member

Hola amigos. Estoy trabajando con una plantilla de Joomlavi, para montar un comercio electrónico. La plantilla está habilitada para funcionar con virtuemart 3, pero hay cosas que no me gustan a la hora de mostrar los precios, y me gustaría cambiarlo. He hecho unos pequeños cambios, que prácticamente vienen a solucionar lo que quería, pero me falta un detalle, con el que no acierto a dar.

Me explico:

Desearía que cuando visualizo un producto, se viese el precio venta público tachado si lleva algún descuento o anulación, el importe del descuento o anulación y finalmente, el precio de venta que pagará el cliente. La plantilla de joomlavi, viene por defecto para que el sistema solo muestre el precio final de venta con impuestos incluidos, y si lleva algún impuesto, descuento o anulación, aparece tachado (siempre que active mostrar el precio base, sino simplemente no aparece). El resultado es que todo lo que lleva descuento anulación o impuestos, aparece con el precio base tachado, y al lado el precio calculado de venta al público. Así, si los artículos no tienen descuento, pero sí impuestos, aparecen igualmente con el precio base tachado, y al lado, el precio de venta, aunque éste sea más alto que el precio base. Para mí, no tiene lógica alguna mostrar un precio tachado, si finalmente el precio de venta al cliente, será bastante mayor, ya que ese sí va con impuestos incluidos, y el que tacha, está sin impuestos.

Tocando un poco el código, he conseguido que finalmente, me aparezca el precio de venta al público, sin el descuento, el importe del descuento, y finalmente, el precio de venta. El problema es que
los artículos que no tienen descuento, pero sí impuestos, muestran un doble precio que es igual. El primero tachado, y el segundo sin tachar (por ejemplo 500 y 500). Lo que quisiera hacer, es que el precio base con impuestos pero sin descuento, no apareciese de no ser que haya configurado un descuento o una anulación, y que de no ser así, solo muestro el precio de venta final, para no duplicar la cifra del precio.

El código que tengo quedó así:

<div class="product-price mini" id="productPricevirtuemart_product_id ?>">
	prices['salesPrice'])) {
		//echo '
' . vmText::_ ('COM_VIRTUEMART_CART_PRICE') . '
'; } if ($product->prices['salesPrice']images[0]) and !$product->images[0]->file_is_downloadable) { ?> <a class="button-green askquestion_price" href="" rel="nofollow ugc" > prices['salesPrice'] != $product->prices['basePrice']) { echo $currency->createPriceDiv ('basePrice', '', $product->prices); } echo '' . $currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . ""; echo $currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices); echo $currency->createPriceDiv ('salesPrice', '', $product->prices); } ?>

Gracias por adelantado, por vuestra siempre incondicional ayuda.

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 15/09/2015 10:14 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

HOla

De manera general tendrías que hacer una comparación con un if y si cumple la condicion imprimir el primer precio tachado sino no

Por ejemplo podrías evaluar sólo imprimir el primero si son diferentes

En tu código tienes un ejemplo de if

 if ($product->prices['salesPrice'] != $product->prices['basePrice'])

Tendrías que buscar a que precios haces referencia en el array, si aún no das con esto sería bueno que nos envíes el archivo completo .php para ver y de ser posible el original ya que entiendo que has hecho un backup (enviarlo comprimido)

También envia la url de algún producto en donde presentes este caso para ver la duplicidad de los precios.

Saludos

ResponderCitar
Respondido : 15/09/2015 11:10 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

NeroCaes
 NeroCaes
Estimable Member

Gracias por tu amable respuesta Jhon.

Te adjunto los archivos, tanto el original de virtuemart, como el que usa la plantilla y que he modificado.
Aquí puedes ver un producto de prueba con el doble precio: http://www.buscametales.com/entrar/pruebas-1/200-pruebas-1-detail

Y aquí, como se ven cuando tienen un descuesto:
http://www.buscametales.com/entrar/pruebas-1/300-pruebas-1-detail

En la lista de precios, tengo activos:
- Precio base con impuestos, pero sin descuentos
- Precio de venta final
- Precio de venta con descuento, pero sin anulación
- Cantidad del descuento

Gracias por tu ayuda, un saludo.

ResponderCitar
Respondido : 15/09/2015 11:50 pm
NeroCaes
 NeroCaes
Estimable Member

Upsss, parece que no subió el archivo.

ResponderCitar
Respondido : 15/09/2015 11:52 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

En el archivo que usa la plantilla prueba a cambiar la línea:

echo '' . $currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . "";

por esta otra:

if ($product->prices['salesPrice'] != $product->prices['basePriceWithTax']) echo '' . $currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . "";

Recuerda hacer una copia de seguridad del archivo antes de aplicar los cambios por si se producen errores o no funciona según lo esperado.

ResponderCitar
Respondido : 16/09/2015 2:47 pm
NeroCaes
 NeroCaes
Estimable Member

Muchísimas gracias. El cambio en el código ha funcionado a la perfección, y justamente como quería. Como siempre, mi agradecimiento a todos los que formáis el equipo de WEBEMPRESA por vuestra dedicación, y por vuestra inmejorable atención. Como siempre, un 10 para vosotros.

Francis.

ResponderCitar
Respondido : 16/09/2015 11:52 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Johnny Heredia Montiel
 Johnny Heredia Montiel
Miembro Moderator

Hola,

Nos alegra que te guste nuestro servicio. 🙂

Nos sería de mucha utilidad que nos dejases tu testimonio, solicitamos testimonios para colocar en nuestra página y ayudar a otros posibles clientes a decidirse por nuestros servicios:

Puedes crearlo aquí: https://www.webempresa.com/testimonios.html?view=form&layout=edit

Si nos quieres enviar tu testimonio podemos colgarlo en nuestra página con un link hacia la tuya que siempre te ayudará a posicionarte, nuestra página tiene un Page Rank de Google alto.

Si ya te lo solicitamos anteriormente y nos lo facilitaste, puedes dejar otro testimonio si tienes otra página que quieras posicionar mejor al tener un link en la nuestra con tu testimonio.

Gracias por publicar tu testimonio y por tus palabras de agradecimiento.

ResponderCitar
Respondido : 17/09/2015 1:55 am
NeroCaes
 NeroCaes
Estimable Member

Hecho!! No merecéis menos.

ResponderCitar
Respondido : 17/09/2015 2:28 am