Jump to content

Si el visitante no está registrado en la tienda, no podrá ver precios en ninguna parte ni verá la cesta de la compra.


cdiazr

Recommended Posts

Hola, pongo esta utilidad en el foro español ya que no la he encontrado publicada y considero que es de mucha utilidad ya que muchas personas (la gran mayoría) ven el precio antes que la descripción del producto y saber que hace ese producto exactamente y si es de calidad o no.

Esta pequeña ampliación consta de ocultar los precios en las partes correspondientes y el carro de la compra:

Lugares donde esconderemos los precios:
- En la ficha del producto
- En "Productos Destacados"
- En las listas de producto (cuando abrimos una categoria)
- En los mapas de imágen (mapas de imagen, es la función que se encuentra en la pestaña "Catálogo/Mapping o Mapa de imagenes")
- El carro de la compra solo será visible para los usuarios registrados
- En el bloque de produtos especiales

SinPrecios.zip

Link to comment
Share on other sites

Hola cdiazr:
Muchas gracias por tu aportación.....
Yo personalmente..... y es solo mi opinión..... tu aportación es muy util cuando trabajas B2B.... para que los particulares no puedan ver los precios mayoristas, para eso es impresindible.... pero, otra vez es mi opinion personal cuando tienes una tienda detallista, para consumidores finales, no me parece una buena idea es como decir a un cliente en un centro comercial.... "Señores, no podeis entrar si no presentais su DNI" el cliente final tiene que ver los precios, para asi poder comparar con todo lo que se vende por la red.... tu aportacion la utilisare un una tienda que estoy terminando dedicada a la venta al por mayor puesto que tengo la misma para clientes minoristas o clientes al detalle, ahi si es genial, que no puedan ver precios hasta que no se den de alta como comerciantes.
Otra vez, es mi humilde manera de pensar.
De todos modos, muchas gracias por tu aportación que seguro servira a muchos de nuestros compañeros.
Un saludo.
P.D. Si pudieras crear algo para hacernos publicidad mutua en nuestra web's.... seria genial.

Link to comment
Share on other sites

Si lo sé, pero el tema es que en tiendas con productos en que se tiene que valorar antes la calidad de los mismos que el precio, preferimos que el cliente vea lo que tenemos y si es lo que está buscando, que se abra una cuenta para ya saber el precio y comprarlo si está dentro de su presupuesto.

Además que es una buena estrategia de marketing para interesarte en los productos, obviamente esta aportación no es factible para todos los comercios, ya que por ejemplo "templates para ps, calzados, ropa, comida, etc..." no es necesario pq ya conocemos la calidad de éstos. La aportación es para tiendas con productos "diferentes" en que la calidad es lo que más cuenta.

Hecha un ojo a mi tienda, www.dipnegocio.eu

Link to comment
Share on other sites

cdiazr:
Estoy de acuerdo contigo, por eso comente la necesidad para algunos negocios de poder utilizar esta opcion que me parece genial... y la utilizare en una de las tiendas como ya te lo dije.
Otra vez gracias por tu aportacion que sera muy util.
Un saludo.
Junne

Link to comment
Share on other sites

Hablando de Mayoristas y Minoristas/particulares, no hay forma de que se aplique diferentes compras mínimas? ya se que pregunte en otro thread pero no obtuve respuestas, no se si es factible.

Por lo menos que aplique la compra mínima para los mayoristas y para los minoristas ninguno, no se si se entiende lo que planteo.


Saludos.

Link to comment
Share on other sites

Supongo que no se puede hacer ya que a nadie se le puede obligar tener unas compras mínimas ya que eso depende de lo que se venda, lo que si se puede hacer es poner un descuento a cada producto y se aplique a partir de cierta cantidad, así se incentiva a comprar esa cantidad para obtener ese dto.
Eso es lo que sugiero yo.

Link to comment
Share on other sites

Es que tengo una tienda de ropa, y para compras por mayor es obligatorio una compra mínima, pero no se como hacer para que eso solo se aplique para "mayoristas" ya que los particulares pueden comprar sin mínimos pero a otro precio.
si hago como me decis, estaria obligando a comprar X cantidad de cada producto y la idea es que se obligue a gastar X cantidad de plata, pero solo para compras por mayor, independientemente la cantidad de x articulos que elija.

Link to comment
Share on other sites

Supongo que agregando una condicional en el php:
Si tengo dos grupos en ps_customer_group
id_group
1 = Minorista
2 = Mayorista

y digo que si id_group es igual a 2 se aplique la compra mínima

encontre estas lineas de código que pienso que es donde habria que agregar esa condicional, no??

/* Check minimal account */
$orderTotal = $cart->getOrderTotal();

$orderTotalDefaultCurrency = Tools::convertPrice($cart->getOrderTotal(true, 1), Currency::getCurrency(intval(Configuration::get('PS_CURRENCY_DEFAULT'))));
$minimalPurchase = floatval(Configuration::get('PS_PURCHASE_MINIMUM'));
if ($orderTotalDefaultCurrency < $minimalPurchase)
{
   $step = 0;
   $errors[] = Tools::displayError('A minimum purchase total of').' '.Tools::displayPrice($minimalPurchase, Currency::getCurrency(intval($cart->id_currency))).
   ' '.Tools::displayError('is required in order to validate your order');
}



o sea me quedaria algo así

/* Check minimal account */
$orderTotal = $cart->getOrderTotal();

$orderTotalDefaultCurrency = Tools::convertPrice($cart->getOrderTotal(true, 1), Currency::getCurrency(intval(Configuration::get('PS_CURRENCY_DEFAULT'))));
$minimalPurchase = floatval(Configuration::get('PS_PURCHASE_MINIMUM'));

// Comprobar a que grupo de usuarios corresponde
$grupo = ¿?;

// Si el grupo al que pertenece el cliente es igual a 2 se ejecuta el código de verificación de compra mínima
if($grupo == "2"){
   if ($orderTotalDefaultCurrency < $minimalPurchase)
   {
       $step = 0;
       $errors[] = Tools::displayError('A minimum purchase total of').' '.Tools::displayPrice($minimalPurchase, Currency::getCurrency(intval($cart->id_currency))).
       ' '.Tools::displayError('is required in order to validate your order');
   }
}



donde está ¿? iria el código que verifica el grupo al que pertenece el cliente.

Link to comment
Share on other sites

Si es posibe que sea esa la solución, si te vas a "Preferencias/Productos" encontrarás una casilla que te dice el mínimo a comprar para que el pedido sea válido, lo que no puedes es especificar, desde BO, quien es el que está obligado a realizar una compra mínima. Así que modificando este este código quizá funcione.

Haber, yo solo sé programar en VB pero la metodología de un lenguaje de programación es la misma. Opino que tu variable "$grupo = ¿?;" no va a funcionar correctamente ya que deberías de crear la función que obtenga el nº de grupo del cliente que está conectado en ese momento y el resultado asignarselo a la variable "$grupo".

Por eso creo que no funcionaría tal y como lo pones.

Link to comment
Share on other sites

Sí, esa parte ya está (aplicar compra mínima)
Lo que me gustaria saber es:
cómo verifico a que grupo pertenece.

No prentendo modificar la BD ya que la modificación lo estoy haciendo a mano.

Lo que me falta es saber el id_group del cliente

Link to comment
Share on other sites

He modificado mi respuesta anterior y aquí quisiera añadir que la función para asignar un mínimo a un cliente, se debería de hacer en los archivos "tpl" que correspondan ya que ellos son los responsables de hacer funcionar la parte comercial y el php son los encargados de hacer funcionar la parte interna de la tienda.

VAmos es mi opinión.

Link to comment
Share on other sites

Por que eo rompeis el coco.... en el BO preferencias> articulo o producto, depiende quien hizo la traduccion hay un casilla a marcar que dice "Compra mínima requerida para que un pedido sea válido:"
ahi indicais el monto minimo y ya esta..... Voila.
Nohay que ir mas lejos
Saludos.

Link to comment
Share on other sites

a ver si entendemos lo mismo, el php lo que hace es:

Si esta aplicado Compra mínima en nuestra configuración “Preferencias/Productos”

1.- El código PHP verifica que el total de la compra que esta haciendo el cliente sea mayor que la compra mínima configurada

if ($orderTotalDefaultCurrency < $minimalPurchase){
}



2.- Si la compra es inferior muestra un error en la plantilla TPL (que no se tocara en la modificación)


Lo que quiero agregar justamente es lo que decis vos y lo dije en mi post anterior, es otra condicional para que ese código solo corra si el grupo es = a 2.

Entonces, lo que me faltaria es saber a que grupo pertenece ese cliente.

Creo que me entendiste a lo que voy y lo que quiero hacer, ahora la cuestión es:
¿Cómo obtengo el id_group de ese cliente?

Link to comment
Share on other sites

Por que eo rompeis el coco.... en el BO preferencias> articulo o producto, depiende quien hizo la traduccion hay un casilla a marcar que dice "Compra mínima requerida para que un pedido sea válido:"
ahi indicais el monto minimo y ya esta..... Voila.
Nohay que ir mas lejos
Saludos.


Hola Junnecito, no entendiste lo que quiero hacer :P
Link to comment
Share on other sites

junnecito, el mínimo lo puedes poner, pero ese mínimo se aplicaría a todos los que compren en tu tienda sin distinción de tipo de cliente. Entre yo y DanielV lo que pretendemos es especificar, mediante código la distinción entre usuarios para que tu tienda pueda aplicar ese mínimo solo a los mayoristas.

Link to comment
Share on other sites

No hay problem Junnecito, vamos a ver si lo solucionamos, no pretendo hacer un modulo, simplemente una modificación, pero como todavia no entiendo bien la estructura de PS y las funciones, no quiesiera hacer un chorizo de código para saber el id_group de un cliente XD

Link to comment
Share on other sites

DanielV - Prueba esto lo siguiente, cambia

$grupo = ¿?;



por esto otro

$obj = $this->loadObject(true);
$group = new Group(intval($obj->id));



Encontré ese código en AdminGroups.php

Recuerda cambiar el nombre de tu variable a $group y no la dejes en español.

Link to comment
Share on other sites

  • 2 weeks later...

Buen día.

Tengo la versión 1.2.5 y tengo una pregunta al respecto del cambio en la forma de mostrar los precios: quiero saber como conservo la forma de mostrar los precios seleccionada en PREFERENCIA/PRODUCTOS en PRECIO DE EXHIBICIÓN del Back Office, ya que he probado algunos módulos de estos de ocultar precios a usuarios no registrados pero la mayoría no conserva esta casilla de selección y me ha generado errores.

Agradezco su respuesta.

Link to comment
Share on other sites

Muchas gracias por el modulo.

A mi me viene de perlas para la web de nolkytasolutions.com. Primero, porque casi todos los artículos son de venta exclusiva a empresas. segundo, porque algunas de las marcas no nos permiten tener el precio a la vista, porque el precio que vendemos para la promoción en muchos casos es 3, 4 o hasta 5 veces menos que lo que se puede encontrar en una tienda.

No se aun como funciona este modulo, por si interesa y quieran hacer un modulo con más funciones. La tienda que aun tenemos con Zencart, hay estas opciones para el estado de la tienda:

El cliente debe ser registrarse
0= No requerido
1= Debe registrarse para navegar
2= Puede navegar pero no ver? los precios hasta que se registre
3= Solo como muestrario

Ademas , podemos poner el estado de la tienda para el cliente:
El cliente debe ser autorizado para comprar
0= No se requiere
1= Debe ser autorizado para navegar
2= Puede navegar pero no ver? los precios hasta que sea autorizado
3= puede navegar y ver los precios pero no puede comprar hasta que no sea autorizado

Y en la ficha del cliente se autoriza, solo deja ver los precios o sencillamente ese cliente no puede ni navegar.

Link to comment
Share on other sites

Ya encontre la solución, simplemente se filtra con el id_customer del cliente logueado, asi obtengo al grupo que pertenece el cliente.
Teniendo eso puedo poner una condicional para un grupo se ejecute la comprobación de compra mínima, ahora si tengo varios grupos, modificando desde el código puedo poner distintos tipos de compra mínima según el grupo.

gracias a cdiazr!

  • Like 1
Link to comment
Share on other sites

Buen día.

Una pregunta, realicé la modificación de acuerdo a las indicaciones del documento de texto, pero me ocurre que manejo productos con accesorios, y no me había fijado que los accesorios no ocultan el precio.

Me podrías ayudar a realizar la edición de esa parte por favor. Gracias. Tengo la versión 1.2.5. Saludos.

Link to comment
Share on other sites

Ok, vamos allá, sinceramente es una parte a la que no hemos tenido en cuenta. Te voy a decir lo que tienes que hacer. Abre el archivo "product.tpl" que lo encontrarás en "themes/prestashop" y busca la siguiente sección de código:

>
{if isset($accessories) AND $accessories}
       <!-- accessories -->
</pre>
<ul>
</ul>
<div>


                   {foreach from=$accessories item=accessory name=accessories_list}
                       {assign var='accessoryLink' value=$link->getProductLink($accessory.id_product, $accessory.link_rewrite, $accessory.category)}

{$accessory.name|truncate:22:'...'|escape:'htmlall':'UTF-8'}


getImageLink($accessory.link_rewrite, $accessory.id_image, 'medium')}" alt="{$accessory.legend|escape:'htmlall':'UTF-8'}" />
{$accessory.description_short|strip_tags|truncate:100:'...'}



{displayWtPrice p=$accessory.price}
{l s='View'}
{l s='Add to cart'}


                   {/foreach}


</div>
<br><div></div>
<br><br>   {/if



Esta sección se encarga de cargar las diferentes partes de cada accesorio y la que nos interesa a nosotros atacar es a la parte que contiene...

... ...

.

Para ocultar precios hemos de dejar el código de la siguiente manera:



                           {if $logged}
{displayWtPrice p=$accessory.price}
{l s='View'}
{l s='Add to cart'}
                               {else}
{l s='View'}
                           {/if} 



De esta manera ya no nos mostrará el precio, si quisieras incluir el código del botón "Ver precios", solo has de incluir ese código después de {else} y debajo de la línia que carga el botón "Ver".

Un saludo

Link to comment
Share on other sites

  • 4 weeks later...
Ya encontre la solución, simplemente se filtra con el id_customer del cliente logueado, asi obtengo al grupo que pertenece el cliente.
Teniendo eso puedo poner una condicional para un grupo se ejecute la comprobación de compra mínima, ahora si tengo varios grupos, modificando desde el código puedo poner distintos tipos de compra mínima según el grupo.

gracias a cdiazr!


¿cual es el codigo php?
Yo busco lo mismo!!

Yo ahora mismo acabo de averiguar viendo codigo de prestashop que el equivalente a :
php : <?php echo "prueba"; ?>
prestashop : {l s='prueba'}

Y yo me pregunto donde se encuentra en el manual de smarty la sentencia { l s= ...} porque no la veo por ningún lado.

Sé que tengo un camino largo, porque hasta ahora sólo había programado en php.

Gracias
Link to comment
Share on other sites

  • 11 months later...
Según ví, el código si me deshabilita el botón porque antes me agregaba el producto al carro, ahora no lo agrega, pero me sigue mostrando el precio y el botón.

Gracias.


Jorge en tu código tienes un error, no es logged es $logged con el simbolo de dolar...

El codigo que he puesto yo y me funciona es:



  {if $logged}
{displayWtPrice p=$accessory.price}
{l s='View'}
{l s='Add to cart'}
  {else}
» Ver Producto
  {/if}



Empezando en la linea nº 376

Link to comment
Share on other sites

  • 10 months later...
  • 1 year later...

Me parece bien el modulo, porque es lo mas o menos lo que yo quiero hacer.

 

En mi tienda virtual colocare todos los productos y estoy ocultando todos los precios tanto para los no registrados, como para los registrados.

 

lo que pretendo es que elijan los productos pero en vez de hacer un pedido, lo que hacen es una solicitud de presupuesto.

 

quiero ocultar todos los precios menos en el bloque de Productos Especiales osea con descuento y al pulsar sobre el mismo titulo de PRODUCTOS ESPECIALES que aparece un listado con todos los productos con descuento.

 

mi problema es que en product_list.css

 

 

he colocado un display:none; para ocultar el precio en los listados de articulos de las categorías, pero tambien me lo oculta en prices-drop.tpl, que imagino que es la pagina que sale al pulsar en el bloque de promociones especiales (

blockspecials),

porque quiero ocultar todos los precios menos en los productos que tengan descuento.

 

 

#product_list li .content_price {

margin:26px 0 15px 0;

display:none;

 

pero hay oculta todos los precios de todos los listados, y yo quiero ocultar todos menos los que aparecen en Productos destacados y en el listado de Productos destacados que se titula Bajada de precios

 

¿podríais ayudarme?.

 

por otro lado me gustaría saber en que cantidad de paginas se pueden ver precios dentro de la tienda Prestashop.

 

Un saludo.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...