clem_b Posted November 17, 2021 Share Posted November 17, 2021 (edited) Bonjour, J'ai un problème, Je suis sur une catégorie dans mon site (et donc dans la liste-produit), et je vois un article affiché en hors stock. Lorsque je clique sur ce produit je m'aperçois qu'il a bien une déclinaison en 'En stock' J'imagine donc que Prestashop met dans la liste produit, la déclinaison par défaut pour déterminer le stock !? Cependant, ce n'est pas ce que je souhaite, et j'aimerai que le stock affiché dans la liste produit soit l'ensemble du stock des déclinaisons du produit. Je précise que je ne souhaite pas désactiver les déclinaisons ou les produits étant hors stock. Si quelqu'un peux m'aider ? Je suis actuellement sur Prestashop 1.7.5.2 Edited November 17, 2021 by clem_b (see edit history) Link to comment Share on other sites More sharing options...
clem_b Posted November 19, 2021 Author Share Posted November 19, 2021 Oki, je viens de trouver une potentiel solution : J'avais ceci dans /themes/MON-THEME/templates/catalog/_partials/miniatures {block name='product_availability'} {* <span id="product-availability" {if $product.availability == 'unavailable'}class="product-unavailable-message"{/if}{if $product.availability == 'last_remaining_items'}class="product-last-message"{/if}> *} <span id="product-availability" {if $product.quantity < 1}class="product-unavailable-message"{/if}{if $product.availability == 'last_remaining_items'}class="product-last-message"{/if}> {if $product.show_availability} {if $product.availability == 'last_remaining_items'} <i class="material-icons product-last-items"></i> {elseif $product.quantity > 0} <i class="material-icons product-available"></i> {else} <i class="material-icons product-unavailable"></i> {/if} {$product.availability_message} {/if} </span> {/block} Je l'ai remplacé par ceci : {block name='product_availability'} {* <span id="product-availability" {if $product.availability == 'unavailable'}class="product-unavailable-message"{/if}{if $product.availability == 'last_remaining_items'}class="product-last-message"{/if}> *} <span id="product-availability" {if $product.quantity_all_versions < 1}class="product-unavailable-message"{/if}{if $product.availability == 'last_remaining_items'}class="product-last-message"{/if}> {if $product.show_availability} {if $product.availability == 'last_remaining_items'} <i class="material-icons product-last-items"></i> {elseif $product.quantity_all_versions > 0} <i class="material-icons product-available"></i> {if $language.id == '1'} En stock {else} Available {/if} {else} <i class="material-icons product-unavailable"></i> {if $language.id == '1'} Non disponible {else} Not available {/if} {/if} {/if} </span> {/block} Donc en gros j'ai changé $product.quantity par $product.quantity_all_versions (cela permet d'avoir la somme des déclinaisons du produit) Le problème de cette solution est que si vous avez des déclinaisons avec un stock négatif ils seront aussi calculés dedans et non considérés comme NULL (0) : pour faire claire voici un exemple -> Notre produit possède 3 déclinaisons. Le stock de ces déclinaison est 3 / -15 / 8. On obtiendra alors -4 (3 +(-15)+8) et donc le produit apparait en hors stock. Si quelqu'un sait comment faire pour éviter cela je suis preneur ! car actuellement j'ai modifier mes stock négatif via import csv Le {$product.availability_message} ne s'adaptait pas correctement et donc c'est pour cela que j'ai dû le remplacer par : {if $language.id == '1'}En stock {else}Available{/if} : Ici le $language.id est utile si vous utilisez un site multilingue, si ce n'est pas le cas vous pouvez directement mettre votre texte 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