Jump to content

No funciona boton de "Añadir el producto" en productos sin stock


Recommended Posts

Buenas estimados,

 

quería consultarles si a alguien le esta pasando lo mismo, y si es un error de la nueva versión de prestashop 1.7.

 

Mi deseo es que los clientes puedan realizar pedidos de productos que no tengan stock.

 

Como es habitual, habilite la opción de "Permitir la venta de productos que están agotados" en "Parametros de la tienda" -> "Productos".

 

Pensé que con esto bastaría para permitirme la compra de productos sin stock, pero no fue así. (los productos tenían la opción "Utilizar comportamiento predeterminado" )

 

Viendo esto, fui a la página de un producto sin stock, y manualmente cambie la opción a "Permitir pedidos".

 

Pero, cuando voy a la página del producto, me encuentro con que sigo sin poder realizar pedidos del mismo...

 

¿Alguien me puede ayudar con esto? Desde ya, muchas gracias

Link to comment
Share on other sites

Buenos días Vadino,

 

Lo primero sería verificar que se te ha cambiado correctamente en "Parámetros de la tienda > Productos", la posibilidad de hacer pedidos de productos sin stock. Si esto está activo no hace falta habilitar nada en el producto, siempre y cuando tengamos la opción; "Utilizar comportamiento por defecto (Permitir pedidos)" marcada.

 

Si quieres para saber si te está cogiendo está configuración puedes rellenar el campo para la "Etiqueta cuando no hay existencias (y se permiten devoluciones)" Por ejemplo No hay stock y ver si en la vista del producto antes de pulsar en añadir al carrito te aparece el mensaje. Una vez aparezca, posiblemente ya te deje añadir el producto.

 

Si no es así, activa el modo debug de la tienda, entrando en el fichero de "defines.inc.php" ubicado en "config" y cambiando la linea: 

 

-> define('_PS_MODE_DEV_', false);

 

por

 

define('_PS_MODE_DEV_', true);

 

Cuéntame, ¿qué te sale? ¿Te indica algún error?

 

Un saludo.

Link to comment
Share on other sites

Hola Vadino,

 

Entonces vamos a editar el fichero product-add-to-cart.tpl ubicado en: themes/TU_TEMA/templates/catalog/_partials

 

Y dime si el div con la clase add coincide con esto:

<div class="add">
          <button class="btn btn-primary add-to-cart" data-button-action="add-to-cart" type="submit" {if !$product.add_to_cart_url}disabled{/if}>
            <i class="material-icons shopping-cart"></i>
            {l s='Add to cart' d='Shop.Theme.Actions'}
          </button>
          {block name='product_availability'}
            <span id="product-availability">
              {if $product.show_availability && $product.availability_message}
                {if $product.availability == 'available'}
                  <i class="material-icons product-available"></i>
                {elseif $product.availability == 'last_remaining_items'}
                  <i class="material-icons product-last-items"></i>
                {else}
                  <i class="material-icons product-unavailable"></i>
                {/if}
                {$product.availability_message}
              {/if}
            </span>
          {/block}
        </div>

Un saludo.

Link to comment
Share on other sites

  • 2 weeks later...

Perdón la tardanza, aquí esta el código de esa sección de ese archivo

 

<div class="add">
          <button class="btn btn-primary add-to-cart" data-button-action="add-to-cart" type="submit" {if !$product.add_to_cart_url || $product.quantity_wanted>$product.quantity}disabled{/if}>
            <i class="material-icons shopping-cart"></i>
            {l s='Add to cart' d='Shop.Theme.Actions'}
          </button>
          {block name='product_availability'}
            <span id="product-availability">
              {if $product.show_availability && $product.availability_message}
                {if $product.availability == 'available'}
                  <i class="material-icons product-available"></i>
                {elseif $product.availability == 'last_remaining_items'}
                  <i class="material-icons product-last-items"></i>
                {else}
                  <i class="material-icons product-unavailable"></i>
                {/if}
                {$product.availability_message}
              {/if}
            </span>
          {/block}
        </div>
Edited by Vadino (see edit history)
  • Like 1
Link to comment
Share on other sites

FuenRob, muchas gracias por la orientación, note que el botón se desabilitaba debido a que $product.quantity_wanted>$product.quantity lógicamente daba falso ($product.quantity = 0 porque no hay justamente stock de ese producto)

 

Quite este control y el botón funciona como debe ahora.

 

Un abrazo grande y espero que sirva a alguien.

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...