Jump to content

[1.7.5.2] Affichage 'Rupture de stock' dans la liste produit malgré déclinaison 'En stock'


clem_b

Recommended Posts

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 by clem_b (see edit history)
Link to comment
Share on other sites

 

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">&#xE002;</i>
	  	  {elseif $product.quantity > 0}
            	    <i class="material-icons product-available">&#xE5CA;</i>
             	  {else}
            	    <i class="material-icons product-unavailable">&#xE14B;</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">&#xE002;</i>
	{elseif $product.quantity_all_versions > 0}
		<i class="material-icons product-available">&#xE5CA;</i>
		{if $language.id == '1'}
			En stock
		{else}
			Available
		{/if}
	{else}
		<i class="material-icons product-unavailable">&#xE14B;</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

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