Jump to content

Problema al borrar productos del carito (Prestashop 1.7.1)


Recommended Posts

Buenas a tod@s,

 

he actualizado a Prestashop 1.7.1 y por  ahora va muy bien, pero me he dado cuenta de que cuando tengo más de un producto en el carrito de compra e intento borrar alguno de estos, es como si no se actualizase la página.

 

Si actualizo el navegador sí que se hace efectivo el borrado, pero debe de haber algo durante el proceso que impida que se refresque el carrito.

 

No sé si es un problema de Prestashop 1.7.1 o si esto le pasa a mas gente.

 

A ver si alguien me puede ayudar.

 

Mi web es https://www.percuforum.com

Link to comment
Share on other sites

Yo estoy probando añadir/quitar producto en el resumen del carrito de tu tienda, y parece que lo hace bien. (tampoco me he puesto a mirar muchos tiempo....)

 

Mira ver una cosa, en ese momento en el que dices que no te refresca bien, acceder por ejemplo en Chrome a Console (Boton derecho ratón -> Inspeccionar Elemento -> Console) y dime si te salta algo a destacar.

Link to comment
Share on other sites

Muchas gracias Sergio, lo he resuelto hace unos minutos tras preguntar a los desarrolladores de prestashop y aplicar el arreglo de aquí: https://github.com/PrestaShop/PrestaShop/pull/7333/files

 

 

Había que ir a  

themes/MI TEMA/templates/checkout/_partials/cart-detailed-product-line.tpl

y quitar la línea marcada con el (-) y poner la marcada con el (+)

 <!--  product left body: description -->
   <div class="product-line-grid-body col-md-4 col-xs-8">
     <div class="product-line-info">
-      <a class="label" href="{$product.url}">{$product.name}</a>
+      <a class="label" href="{$product.url}" data-id_customization="{$product.id_customization|intval}">{$product.name}</a>
     </div>
 
     <div class="product-line-info">

Link to comment
Share on other sites

 

Muchas gracias Sergio, lo he resuelto hace unos minutos tras preguntar a los desarrolladores de prestashop y aplicar el arreglo de aquí: https://github.com/PrestaShop/PrestaShop/pull/7333/files

 

 

Había que ir a  

themes/MI TEMA/templates/checkout/_partials/cart-detailed-product-line.tpl

y quitar la línea marcada con el (-) y poner la marcada con el (+)

 <!--  product left body: description -->
   <div class="product-line-grid-body col-md-4 col-xs-8">
     <div class="product-line-info">
-      <a class="label" href="{$product.url}">{$product.name}</a>
+      <a class="label" href="{$product.url}" data-id_customization="{$product.id_customization|intval}">{$product.name}</a>
     </div>
 
     <div class="product-line-info">

:) Ah, perfecto, entonces por eso me funcionaba ya bien tu tienda.

 

Saludos !

Link to comment
Share on other sites

  • 2 weeks later...

Hola kornwaikas, una preguntilla muy rapida y disculpa si no tiene que ver con el tema. Al actualizar a Presta 1.7, ¿Las urls siguen siendo las mismas? Lo digo porque veo en la 1.7 que incluye otro ID (a parte del de producto) que es del atributo y no se puede eliminar de la backoffice.

 

Si la estructura de identificadores cambia puede dar problemas como el que te ha pasado ¿Verdad?

 

 

Gracias!

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

  • 1 year later...

Buenas, tengo esa línea añadida en prestashop 1.7.3... y me sigue pasando. Quiero que desaparezcan los productos en el carrito cuando se le de la opción de borrado, me estoy volviendo loco y no se ya donde mirar... la solución que se da aquí no me vale para mi versión puesto ya traía el codigo citado... ayudarme por favor! Gracias de ante mano.

Link to comment
Share on other sites

Adjunto mi archivo actual cart-detailed-product-line.tpl

<div class="product-line-grid">
  <!--  product left content: image-->
  <div class="product-line-grid-left col-md-3 col-xs-4">
    <span class="product-image media-middle">
      <img src="{$product.cover.bySize.cart_default.url}" alt="{$product.name|escape:'quotes'}">
    </span>
  </div>

  <!--  product left body: description -->
  <div class="product-line-grid-body col-md-4 col-xs-8">
    <div class="product-line-info">
      <a class="label" href="{$product.url}" data-id_customization="{$product.id_customization|intval}">{$product.name}</a>
    </div>

    <div class="product-line-info">
      <span class="value">{$product.price}</span>
      {if $product.unit_price_full}
        <div class="unit-price-cart">{$product.unit_price_full}</div>
      {/if}
    </div>

    <br/>

    {foreach from=$product.attributes key="attribute" item="value"}
      <div class="product-line-info">
        <span class="label">{$attribute}:</span>
        <span class="value">{$value}</span>
      </div>
    {/foreach}

    {if $product.customizations|count}
      <br>
      {block name='cart_detailed_product_line_customization'}
        {foreach from=$product.customizations item="customization"}
          <a href="#" data-toggle="modal" data-target="#product-customizations-modal-{$customization.id_customization}">{l s='Personalización del producto' d='Shop.Theme.Catalog'}</a>
          <div class="modal fade customization-modal" id="product-customizations-modal-{$customization.id_customization}" tabindex="-1" role="dialog" aria-hidden="true">
            <div class="modal-dialog" role="document">
              <div class="modal-content">
                <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                  </button>
                  <h4 class="modal-title">{l s='Personalización del producto' d='Shop.Theme.Catalog'}</h4>
                </div>
                <div class="modal-body">
                  {foreach from=$customization.fields item="field"}
                    <div class="product-customization-line row">
                      <div class="col-sm-3 col-xs-4 label">
                        {$field.label}
                      </div>
                      <div class="col-sm-9 col-xs-8 value">
                        {if $field.type == 'text'}
                          {if (int)$field.id_module}
                            {$field.text nofilter}
                          {else}
                            {$field.text}
                          {/if}
                        {elseif $field.type == 'image'}
                          <img src="{$field.image.small.url}">
                        {/if}
                      </div>
                    </div>
                  {/foreach}
                </div>
              </div>
            </div>
          </div>
        {/foreach}
      {/block}
    {/if}
  </div>

  <!--  product left body: description -->
  <div class="product-line-grid-right product-line-actions col-md-5 col-xs-12">
    <div class="row">
      <div class="col-xs-4 hidden-md-up"></div>
      <div class="col-md-10 col-xs-6">
        <div class="row">
          <div class="col-md-6 col-xs-6 qty">
            {if isset($product.is_gift) && $product.is_gift}
              <span class="gift-quantity">{$product.quantity}</span>
            {else}
              <input
                class="js-cart-line-product-quantity"
                data-down-url="{$product.down_quantity_url}"
                data-up-url="{$product.up_quantity_url}"
                data-update-url="{$product.update_quantity_url}"
                data-product-id="{$product.id_product}"
                type="text"
                value="{$product.quantity}"
                name="product-quantity-spin"
                min="{$product.minimal_quantity}"
              />
            {/if}
          </div>
          <div class="col-md-6 col-xs-2 price">
            <span class="product-price">
              <strong>
                {if isset($product.is_gift) && $product.is_gift}
                  <span class="gift">{l s='Regalo' d='Shop.Theme.Checkout'}</span>
                {else}
                  {$product.total}
                {/if}
              </strong>
            </span>
          </div>
        </div>
      </div>
      <div class="col-md-2 col-xs-2 text-xs-right">
        <div class="cart-line-product-actions">
          <a
              class                       = "remove-from-cart"
              rel                         = "nofollow"
              href                        = "{$product.remove_from_cart_url}"
              data-link-action            = "delete-from-cart"
              data-id-product             = "{$product.id_product|escape:'javascript'}"
              data-id-product-attribute   = "{$product.id_product_attribute|escape:'javascript'}"
              data-id-customization         = "{$product.id_customization|escape:'javascript'}"
          >
            {if !isset($product.is_gift) || !$product.is_gift}
            <i class="material-icons pull-xs-left">delete</i>
            {/if}
          </a>

          {block name='hook_cart_extra_product_actions'}
            {hook h='displayCartExtraProductActions' product=$product}
          {/block}

        </div>
      </div>
    </div>
  </div>

  <div class="clearfix"></div>
</div>
 

Link to comment
Share on other sites

  • 1 year later...

Hola,

A mi lo que me sucede es que no se borran del carrito si no hago refresh en el navegador, en mi plantilla no aparece la linea que comenta kornwaikas. Esto es lo que me aparece:

<div class="product-line-grid-body col-lg-4 col-xs-8 col-md-4">
    <div class="product-line-info">
      <a class="label" href="{$product.url}" data-id_customization="{$product.id_customization|intval}">{$product.name}</a>
    </div>

 

Un saludo.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...