Avisos
Vaciar todo

Problemas con las categorías de producto para ocultar precios de usuarios no registrados en Virtuemart  

 
CARLOS
 CARLOS
Usuario activo

Buenos días,

Hemos revisado el foro y no hemos encontrado solución a nuestro problema.
Tenemos una tienda online con la plantilla gk_boutique. La versión de Joomla es 2.5.8 y Virtuemart 2.0.18a.

Hemos consultado el foro y hemos seguido los pasos para ocultar los precios a usuarios no registrados. Todo ha funcionado salvo que si pulsamos en las categorías de producto siguen apareciendo los precios para usuarios no registrados.

Adjuntamos pantallas de ejemplo con la categoría "Auriculares" y de configuración actual.

¿Podríais indicarnos cómo resolver el problema?

Gracias por anticipado.

Saludos.

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 08/02/2016 10:48 am
Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

He estado haciendo pruebas con el pack Boutique y veo que si desactivo la muestra de precios para usuarios anónimos se dejan de mostrar incluso en el listado de productos por categoría.

Es posible que no tengas seleccionada la plantilla correcta para el listado de productos. Vete a Componentes->Virtuemart->Configuración, pulsa en la pestaña Plantillas y verifica que en el campo Diseño de categoría tengas seleccionado el valor "webempresa".

ResponderCitar
Respondido : 08/02/2016 2:10 pm

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

CARLOS
 CARLOS
Usuario activo

Hola,

Lo he revisado y lo veo correcto. Te adjunto imagen.

Mi versión de plantilla gk_boutique es v2.5.2. ¿Qué más puedo hacer?

Gracias.

ResponderCitar
Respondido : 08/02/2016 3:21 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Tal vez sea algo de layout de webempresa, si cambias el layout de webmpresa de las categorías, por el layout por defecto verifica si te sucede lo mismo

Saludos.

ResponderCitar
Respondido : 08/02/2016 5:35 pm

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

CARLOS
 CARLOS
Usuario activo

Hola,

Ya lo he probado, sucede lo mismo. ¿Qué archivo contiene el layout de webempresa?

Gracias.

ResponderCitar
Respondido : 08/02/2016 5:42 pm
CARLOS
 CARLOS
Usuario activo

Perdón. No me he explicado bien. Con los otros layouts funciona bien, es decir, no salen los precios de los productos para usuarios no registrados desde la vista categoría. Por lo que parece que el problema está en ese layout de webempresa. ¿Cómo puedo modificarlo?

Gracias.

ResponderCitar
Respondido : 08/02/2016 5:44 pm

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

Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

El archivo esta en :
/templates/gk_boutique/html/com_virtuemart/category/webempresa.php

En la línea 230 aprox esta como :

					if ($product->prices['discountAmount'] != '0') {
						echo '
'; echo ''.$this->currency->priceDisplay($product->prices['basePriceWithTax'] ).'
'; echo ''.$this->currency->priceDisplay($product->prices['salesPrice'] ).''; echo '
'; } else { echo $this->currency->createPriceDiv('salesPrice','',$product->prices); }

Debería envolverse en una condición , es decir quedaría como :

				if ($this->show_prices == '1'){
					if ($product->prices['discountAmount'] != '0') {
						echo '
'; echo ''.$this->currency->priceDisplay($product->prices['basePriceWithTax'] ).'
'; echo ''.$this->currency->priceDisplay($product->prices['salesPrice'] ).''; echo '
'; } else { echo $this->currency->createPriceDiv('salesPrice','',$product->prices); } }

Si tienes problemas con esto envía el archivo, puedes subirlo a dropbox y enviar el link para verificar

Puedes usar el Administrador de Archivos de tu Cpanel de tu cuetna de hosting para localizar el archivo , descargar y modifciarlo y subirlo

Saludos.

ResponderCitar
Respondido : 08/02/2016 10:15 pm
CARLOS
 CARLOS
Usuario activo

Hola,

He introducido la modificación en el archivo:

public_html/onlineshop/templates/gk_boutique/html/com_virtuemart/category/webempresa.php

pero no soluciona el problema. He averiguado que al llegar a esa línea de código la variable $this->show_prices cumple la condición, es decir, tiene valor: $this->show_prices ='1'. ¿Sabéis en qué archivo se asigna dicha variable?

Aquí teneis un link de descarga del archivo webempresa.php original:

https://www.dropbox.com/s/2j4aoisdh00eotw/webempresa.php?dl=0

Saludos.

ResponderCitar
Respondido : 09/02/2016 1:51 pm

Cursos Gratuitos WordPress

Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

Es extraño que teniendo desactivada la opción de mostrar precios el valor de $this->show_prices sea 1. Puedes probar otra cosa: en lugar de poner la condición:

if ($this->show_prices == '1') {

pon esta otra:

if ($product->prices['salesPrice'] > 0) {
ResponderCitar
Respondido : 09/02/2016 3:24 pm
CARLOS
 CARLOS
Usuario activo

Hola,

He probado lo que comentas y todo sigue igual.

Actualmente con el código original del archivo, para usuarios no registrados, se muestran los precios en la vista categorías porque la variable $this->show_prices en tiempo de ejecución es '1'. Pero si estos mismos usuarios acceden a los detalles del producto, esta misma variable $this->show_prices mantiene el valor '1' y en cambio los usuarios no ven los precios.

Además, tengo mis dudas que dicha variable esté relacionada directamente con el campo ''Mostrar precios" de la vista del grupo de compradores de Virtuemant, pues si activo otra vez dicho campo para usuarios no registrados, la variable $this->show_prices mantiene el valor '1'.

¿No hay otra manera de crear un condicional que verifique que se trata de un usuario registrado o no registrado?

¿Habéis podido revisar el código del archivo que os pasé?

Gracias por anticipado.

Un saludo.

ResponderCitar
Respondido : 10/02/2016 10:45 am

CARLOS
 CARLOS
Usuario activo

Hola,

Ya lo he SOLUCIONADO !!!! Sólo tengo que configurar desde Virtuemart > Productos en el apartado "Precios de producto" al lado del "Precio costo" seleccionar usuarios registrados.

De esta manera funciona todo bien.

Gracias de todos modos.

ResponderCitar
Respondido : 10/02/2016 11:56 am