Amorphus Posted February 6, 2018 Share Posted February 6, 2018 Hola, Me estoy volviendo loco con esto, y no encuentro la solución por ningún lado, aunque me parece algo bastante básico. La cosa es que me gustaría que apareciera cuanto stock queda, pero que cambiara el número según la combinación que elija. Por defecto, si pongo la opción " Mostrar cantidades disponibles en la página del producto" me muestra la cantidad de stock que hay, con la combinación de producto que tenga puesta por defecto, luego elijo otras combinaciones, pero el numero no cambia, sigue poniendome el numero de stock de la combinación por defecto. Pensaba que seria cambiar la variable $product_quantity por otra, pero llevo ya rato intentando cosas y buscando por el foro, pero no encuentro nada. La version de prestashop que uso es 1.7.2.4 Muchas gracias de antemano! 1 Link to comment Share on other sites More sharing options...
Amorphus Posted February 7, 2018 Author Share Posted February 7, 2018 Bueno, He encontrado la solución, la pongo por si le vale a alguien más, no se porqué pero la variable $product.quantity en el archivo product.tpl marca el numero de stock disponible del artículo con la combinación por defecto y cuando le das a otras combinaciones, no se actualiza el número, en cambio, si pongo para que se muestre la variable, en el archivo /_partials/product-add-to-cart.tpl si que se actualiza el número según seleccionas la combinación. Un saludo! 1 Link to comment Share on other sites More sharing options...
Adrián Posted April 8, 2019 Share Posted April 8, 2019 Buenas, me puedes decir exactamente como lo has hecho?? tengo el mismo problema que tu. Gracias! Link to comment Share on other sites More sharing options...
Amorphus Posted April 8, 2019 Author Share Posted April 8, 2019 Buenas, El archivo que tienes que modificar es /themes/TU-TEMA/templates/catalog/_partials/product-add-to-cart.tpl Te voy a poner como dejé yo el código a modo de ejemplo, luego ya depende de como quieras tú que aparezca. Yo tengo cambiado esto: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip 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} por esto otro: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip 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} {/if} {if $product.quantity == 1}{$product.quantity} <label class="label">{l s='disponible' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity > 1}{$product.quantity} <label class="label">{l s='disponibles' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {else} {l s='Sin stock' d='Shop.Theme.Catalog'} {/if} </span> {/block} La variable que indica el número de productos es {$product.quantity} que al ponerla en este archivo sí que cambia al elegir otras combinaciones. Con este código que te he puesto, aparecerá: 1 disponible - Entrega: 24/72h (si solo tienes uno) X disponibles - Entrega: 24/72h (si tienes más) Sin stock (si tienes 0 o menos) La primera parte del código es la encargada de que aparezca el simbolito de visto bueno o de advertencia delante, yo aqui te la he dejado tal cual viene, pero yo la tengo modificada porque permito pedidos de productos sin stock, y con el código así me aparecía el visto bueno aunque no tuviera stock, ya que estaba disponible, pero me interesa que diferencie entre disponible con stock y disponible sin stock. Los productos que ya no están disponibles para vender los tengo con cantidad -100, por eso lo de " {elseif $product.quantity < -50} {l s='Producto descatalogado' d='Shop.Theme.Catalog'}" Yo lo tengo exactamente así por si sirve a alguien: {block name='product_availability'} <span id="product-availability"> {if $product.availability == 'available' && $product.quantity > 0} <i class="material-icons product-available"></i> {elseif $product.availability == 'available' && $product.quantity =< 0} <i class="material-icons product-last-items"></i> {elseif $product.availability == 'last_remaining_items'} <i class="material-icons product-last-items"></i> {else} <i class="material-icons product-unavailable"></i> {/if} {if $product.quantity == 1}{$product.quantity} <label class="label">{l s='disponible' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity > 1}{$product.quantity} <label class="label">{l s='disponibles' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity < -50} {l s='Producto descatalogado' d='Shop.Theme.Catalog'} {else} {l s='Sin stock' d='Shop.Theme.Catalog'} {/if} </span> {/block} Link to comment Share on other sites More sharing options...
Adrián Posted April 9, 2019 Share Posted April 9, 2019 16 hours ago, Amorphus said: Buenas, El archivo que tienes que modificar es /themes/TU-TEMA/templates/catalog/_partials/product-add-to-cart.tpl Te voy a poner como dejé yo el código a modo de ejemplo, luego ya depende de como quieras tú que aparezca. Yo tengo cambiado esto: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip 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} por esto otro: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip 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} {/if} {if $product.quantity == 1}{$product.quantity} <label class="label">{l s='disponible' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity > 1}{$product.quantity} <label class="label">{l s='disponibles' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {else} {l s='Sin stock' d='Shop.Theme.Catalog'} {/if} </span> {/block} La variable que indica el número de productos es {$product.quantity} que al ponerla en este archivo sí que cambia al elegir otras combinaciones. Con este código que te he puesto, aparecerá: 1 disponible - Entrega: 24/72h (si solo tienes uno) X disponibles - Entrega: 24/72h (si tienes más) Sin stock (si tienes 0 o menos) La primera parte del código es la encargada de que aparezca el simbolito de visto bueno o de advertencia delante, yo aqui te la he dejado tal cual viene, pero yo la tengo modificada porque permito pedidos de productos sin stock, y con el código así me aparecía el visto bueno aunque no tuviera stock, ya que estaba disponible, pero me interesa que diferencie entre disponible con stock y disponible sin stock. Los productos que ya no están disponibles para vender los tengo con cantidad -100, por eso lo de " {elseif $product.quantity < -50} {l s='Producto descatalogado' d='Shop.Theme.Catalog'}" Yo lo tengo exactamente así por si sirve a alguien: {block name='product_availability'} <span id="product-availability"> {if $product.availability == 'available' && $product.quantity > 0} <i class="material-icons product-available"></i> {elseif $product.availability == 'available' && $product.quantity =< 0} <i class="material-icons product-last-items"></i> {elseif $product.availability == 'last_remaining_items'} <i class="material-icons product-last-items"></i> {else} <i class="material-icons product-unavailable"></i> {/if} {if $product.quantity == 1}{$product.quantity} <label class="label">{l s='disponible' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity > 1}{$product.quantity} <label class="label">{l s='disponibles' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity < -50} {l s='Producto descatalogado' d='Shop.Theme.Catalog'} {else} {l s='Sin stock' d='Shop.Theme.Catalog'} {/if} </span> {/block} Muchisimas gracias, me ha servido todo. Te agradezco la respuesta. Un saludo! Link to comment Share on other sites More sharing options...
Amorphus Posted April 9, 2019 Author Share Posted April 9, 2019 De nada! me alegro de que te sirva, un saludo! Link to comment Share on other sites More sharing options...
Rene CA Posted June 9, 2021 Share Posted June 9, 2021 On 4/8/2019 at 11:22 AM, Amorphus said: Buenas, El archivo que tienes que modificar es /themes/TU-TEMA/templates/catalog/_partials/product-add-to-cart.tpl Te voy a poner como dejé yo el código a modo de ejemplo, luego ya depende de como quieras tú que aparezca. Yo tengo cambiado esto: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip 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} por esto otro: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip 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} {/if} {if $product.quantity == 1}{$product.quantity} <label class="label">{l s='disponible' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity > 1}{$product.quantity} <label class="label">{l s='disponibles' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {else} {l s='Sin stock' d='Shop.Theme.Catalog'} {/if} </span> {/block} La variable que indica el número de productos es {$product.quantity} que al ponerla en este archivo sí que cambia al elegir otras combinaciones. Con este código que te he puesto, aparecerá: 1 disponible - Entrega: 24/72h (si solo tienes uno) X disponibles - Entrega: 24/72h (si tienes más) Sin stock (si tienes 0 o menos) La primera parte del código es la encargada de que aparezca el simbolito de visto bueno o de advertencia delante, yo aqui te la he dejado tal cual viene, pero yo la tengo modificada porque permito pedidos de productos sin stock, y con el código así me aparecía el visto bueno aunque no tuviera stock, ya que estaba disponible, pero me interesa que diferencie entre disponible con stock y disponible sin stock. Los productos que ya no están disponibles para vender los tengo con cantidad -100, por eso lo de " {elseif $product.quantity < -50} {l s='Producto descatalogado' d='Shop.Theme.Catalog'}" Yo lo tengo exactamente así por si sirve a alguien: {block name='product_availability'} <span id="product-availability"> {if $product.availability == 'available' && $product.quantity > 0} <i class="material-icons product-available"></i> {elseif $product.availability == 'available' && $product.quantity =< 0} <i class="material-icons product-last-items"></i> {elseif $product.availability == 'last_remaining_items'} <i class="material-icons product-last-items"></i> {else} <i class="material-icons product-unavailable"></i> {/if} {if $product.quantity == 1}{$product.quantity} <label class="label">{l s='disponible' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity > 1}{$product.quantity} <label class="label">{l s='disponibles' d='Shop.Theme.Catalog'}</label> - {l s='Entrega: 24/72h' d='Shop.Theme.Catalog'} {elseif $product.quantity < -50} {l s='Producto descatalogado' d='Shop.Theme.Catalog'} {else} {l s='Sin stock' d='Shop.Theme.Catalog'} {/if} </span> {/block} Muchas gracias por tu aportación me ayudo mucho Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now