Jump to content

Liste produit - Solution pour les états de stock


Recommended Posts

Bonjour,

 

Je me permets de poster une solution concernant un bug d'affichage des stocks sur le listing produit.

 

Quand vous avez un produit avec des déclinaisons et que vous n'avez plus de stock sur celle par défaut, il est alors affiché que vous n'avez plus de stock. Or toutes les autres déclinaisons sont disponible à l'achat.

 

Pour remédier à ce problème certains vont donc changer la déclinaison par défaut pour que le "en stock" reste affiché. Méthode un peu fastidieuse..

 

En regardant dans le code, prestashop dans cette situation devrait normalement afficher

 

Product available with different options

 

Seulement ça ne marche pas pour moi ainsi que plusieurs utilisateurs de ce forum.

Après plusieurs recherches infructueuse, j'ai enfin réussi à faire fonctionner le code de façon à avoir:

 

si produit (et déclinaisons) en stock = EN STOCK

si produit en rupture mais achat autorisé = SUR COMMANDE

si produit en rupture et achat non autorisé = STOCK ÉPUISÉ

si produit avec déclinaisons et que celle par défaut et en rupture = CERTAINES DECLINAISONS NON DISPO

 

il va falloir modifier la ligne 53 du product-list.tpl de votre thème

 

{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
<span class="availability">
{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}
</span>
{/if}

 

par

 

{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}

{if $product.quantity > 0}
<span class="availability">{l s='Available'}</span>

{elseif $product.allow_oosp == 0}
<span class="outstock">{l s='Out of stock'}</span>

{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}
<span class="differentoptions">{l s='Product available with different options'}</span>

{else}
<span class="soon">{l s='oospAvailable'}</span>
{/if}

{/if}

 

N'oubliez pas de rajouter les class dans votre feuille de style.

 

Résultat :

post-618643-0-14663800-1374597955_thumb.jpg

  • Like 2
Link to comment
Share on other sites

  • 6 months later...

Bonjour,

je sais que le poste date un peu mais, j'ai vraiment besoin de pouvoir utilisé les diverses options citées ci-dessus, malheureusement, cela ne fonctionne qu'à moitié chez moi...

Explication :
Lorsque je rentre ce code, en passant par la navigation 'normale' (catégorie dans le top-menu), au lieu d'avoir 'oospAvailable', j'ai toujours 'stock épuisé'.

Par contre, quand j'utilise la recherche, là, le texte fonctionne correctement... et j'ai bien 'oospAvailable' qui est écrit. (pour le même produit, bien sûr).

J'ai beau avoir cherché des heures, je trouve toujours pas d'où vient le problème, ce qui est vraiment fort embêtant...

Quelqu'un aurait-il déjà eu ce problème ou saurait d'où cela peut venir ?
Merci d'avance à tous ceux qui me répondront. ;)

Version Prestashop 1.5.4.1 - hébergé chez phpnet

Edited by FMR (see edit history)
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...