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
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".
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.
Hola,
Ya lo he probado, sucede lo mismo. ¿Qué archivo contiene el layout de webempresa?
Gracias.
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.
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'] ).''; } else { echo $this->currency->createPriceDiv('salesPrice','',$product->prices); }
'; echo ''.$this->currency->priceDisplay($product->prices['salesPrice'] ).''; echo '
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'] ).''; } else { echo $this->currency->createPriceDiv('salesPrice','',$product->prices); } }
'; echo ''.$this->currency->priceDisplay($product->prices['salesPrice'] ).''; echo '
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.
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.
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) {
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.
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.