Jump to content

[Solucionado] Ocultar gastos de envío a no registrados en 1.6


malvolyo

Recommended Posts

Hola!

Abro este post porque he encontrado solución a esto en versiones anteriores, pero se me quedan incompletas para 1.6.

Utilizo PS 1.6.0.6 con la plantilla por defecto. 

 

Lo que quiero es que a los usuarios no registrados no les aparezcan los gastos de envío y que el carrito tampoco calcule el total con esos gastos de envío hasta que estén registrados.

 

He probado las soluciones que se proponen aquí:

http://www.jose-aguilar.com/blog/mostrar-gastos-de-envio-solo-los-usuarios-registrados-en-prestashop/

y aquí:

http://www.prestashop.com/forums/topic/198271-ocultar-transporte-en-carrito-usuarios-no-registradossolucionado/page-2

y las de aquí ya no funcionan los enlaces:

http://www.prestashop.com/forums/topic/246782-solucionadoocultar-gastos-de-transporte-en-carrito-y-recapitulativo/?hl=%2Bocultar+%2Bgastos+%2Benv%C3%ADo&do=findComment&comment=1224331

 

El caso es que como el carrito de 1.6 es diferente al de otras versiones, hay que modificar más archivos aparte de

blockcart.php

blockcart.tpl

cart.php

shopping-cart.tpl

...pero no sé cuáles son.

 

No he encontrado nada en el foro para esta versión, así que pido disculpas de antemano si ya se ha solucionado antes y agradecería me pudierais indicar el enlace si fuera el caso.

 

Muchas gracias!

Edited by malvolyo (see edit history)
Link to comment
Share on other sites

A ver, te voy a explicar lo que yo hice... es un poco chapucero, pero te hace el apaño...

 

Vas a transportistas y pones todos tus transportistas solo para "Customers" de modo que solo los compradores puedan ver el precio.

 

Lo malo es que ahora a los visitantes les sale "Envío gratis", para eso me he ido al es.php de mi plantilla, he buscado lo del "Envio gratis" y lo he modificado por "envío a Calcular" y ya los visitantes en gastos de envío les sale eso y no se les suma el envío al total...

 

A ver si te funciona como a mi, que también me volví loca buscando una solución...

  • Like 2
Link to comment
Share on other sites

  • 7 months later...

Hola tengo un problemilla tengo el modulo de correos instalado y configurados los precios de los envíos el caso es que cuando un visitante agrega un articulo al carrito automáticamente me sale el precio de uno de los transportistas y claro no en toda las zonas el precio es ese, solo se cambia cuando el cliente se registra y con su dirección calcula el precio.

he creado un transportista nuevo y lo he configurado en rango todo cero y lo he asignado a todas las zonas y que lo vean solo los visitantes.

para que me ponga envio gratuito ( y luego en traducciones cambio envió gratuito por envió a calcular)

mi problema es que no me aparece el nuevo transportista y no se por que

Alguna sugerencia?

Gracias me estoy volviendo loca y no encuentro la solución.

Link to comment
Share on other sites

  • 3 months later...

¡Buenas! Este post ha sido de mucha ayuda en mi problema al respecto de este problema, y principalmente porque @malvolyo se tomó la molestia de listar los archivos a modificar.

 

Para modificar el carrito de compras abrimos modules/blockcart/blockart.tpl y en las líneas (dsd 143) que se encuentran así:

							<div class="cart-prices-line first-line">
								<span class="price cart_block_shipping_cost ajax_cart_shipping_cost{if !($page_name == 'order-opc') && $shipping_cost_float == 0 && (!isset($cart->id_address_delivery) || !$cart->id_address_delivery)} unvisible{/if}">
									{if $shipping_cost_float == 0}
										 {if !($page_name == 'order-opc') && (!isset($cart->id_address_delivery) || !$cart->id_address_delivery)}{l s='To be determined' mod='blockcart'}{else}{l s='Free shipping!' mod='blockcart'}{/if}
									{else}
										{$shipping_cost}
									{/if}
								</span>

Las convertí en esto:

							<div class="cart-prices-line first-line">
								<span class="price cart_block_shipping_cost ajax_cart_shipping_cost{if !($page_name == 'order-opc') && $shipping_cost_float == 0 && (!isset($cart->id_address_delivery) || !$cart->id_address_delivery)} unvisible{/if}">
									{if $shipping_cost_float == 0}
										 {if !($page_name == 'order-opc') && (!isset($cart->id_address_delivery) || !$cart->id_address_delivery)}{l s='To be determined' mod='blockcart'}
										 {else}
										 	{if !$logged AND !$cart->id_customer}
										 		{l s='To be determined' mod='blockcart'}
										 	{else}
										 		{l s='Free shipping!' mod='blockcart'}
										 	{/if}
										 {/if}
									{else}
										{$shipping_cost}
									{/if}
								</span>

Podemos ver que agregué ese bloque en negritas. Este código es el necesario para que cuando se despliegue el combo del carrito indique por determinar a los usuarios no registrados. Sin embargo queda cambiar la sección de confirmar, que se modifica en shopping-cart.tpl (dsd 245) de este código: 

				{if $total_shipping_tax_exc <= 0 && !isset($virtualCart)}
					<tr class="cart_total_delivery{if !$opc && (!isset($cart->id_address_delivery) || !$cart->id_address_delivery)} unvisible{/if}">
						<td colspan="{$col_span_subtotal}" class="text-right">{l s='Total shipping'}</td>
						<td colspan="2" class="price" id="total_shipping">{l s='Free Shipping!'}</td>
					</tr>
				{else}

Lo cambié a este:

				{if $total_shipping_tax_exc <= 0 && !isset($virtualCart)}
					<tr class="cart_total_delivery{if !$opc && (!isset($cart->id_address_delivery) || !$cart->id_address_delivery)} unvisible{/if}">
						<td colspan="{$col_span_subtotal}" class="text-right">{l s='Total shipping'}</td>
						<td colspan="2" class="price" id="total_shipping">
						 	{if !$logged AND !$cart->id_customer}
						 		{l s='To be determined'}
						 	{else}
						 		{l s='Free shipping!'}
						 	{/if}
						</td>
					</tr>
				{else}

Básicamente copié y pegué el código anterior, pero en este bloque de este tpl. Ahora lo que ocurre es que cuando vamos a confirmar la información se ve en inglés. Pero no hay problema, vamos a traducción y agregamos los nuevos términos a traducir. y listo. Ahora teóricamente si apareces registrado podrás ver tus montos de envío (podrás ver si es gratis) y bueno.... Eso si, esto es la solución para PrestaShop™ 1.6.0.14 

  • Like 2
Link to comment
Share on other sites

  • 1 year later...

Hola, me he topado con este hilo y a mi me pasa todo lo contrario.

 

 Tengo los gastos de envio tipificados por peso, hasta X peso, 5€ de envio y a partir de X peso, envio gratuito, tambien dividido en un par de zonas por que Baleares nunca lleva envio gratuito...

 

   El caso es que no consigo que los invitados al añadir al carrito se le indique que el producto con envio gratuito se lo indique el sitema ya que si elije un articulo con gastos de envio en este caso si indica que son 5€.

 

   Si cuando te das de alta e indicas tu direccion de envio si te dice si el articulo corresponde que el envio es gratuito...

 

   Llevo mucho detras de solucionar esto, alguien podria hecharme una mano...?. Gracias...

Link to comment
Share on other sites

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