Jump to content
Manu1238

Problème pour 'Afficher les dernières quantités'

Recommended Posts

Bonjour, je souhaite afficher les dernières quantités d'un produit lorsque celui ci est inférieur à 5.

J'ai donc activé l'option dans prestashop 1.6: Afficher les dernières quantités lorsque celles-ci sont inférieures à 5

J'avais donc un message avec dernière(s) pièces disponibles. Mais je n'avais pas ma quantité (5 ou inférieur à 5).

J'ai donc testé avec la variable: {$product->quantity}, cela affiche la quantité réel sur tous les produits, et non sur les produit avec un stock inférieur à 5.

ma ligne dans le product.tpl

<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {l s='article(s) en stock'}</span></p>

Ai-je oublié quelque choses?

merci pour votre aide.

 

Share this post


Link to post
Share on other sites

Ben...

if ($product->quantity > $last_qties || $product->quantity <= 0)

ca veut dire en français:

si la quantité est supérieure à 5 ou si la quantité est inférieure ou égale à 0, donc c'est un peu normal que cela affiche l'inverse de ce que vous voulez^^

Share this post


Link to post
Share on other sites
30 minutes ago, Eolia said:

Ben...


if ($product->quantity > $last_qties || $product->quantity <= 0)

ca veut dire en français:

si la quantité est supérieure à 5 ou si la quantité est inférieure ou égale à 0, donc c'est un peu normal que cela affiche l'inverse de ce que vous voulez^^

hum, il faut donc que je change 0 par 5.

je vais testé, merci.

 

Share this post


Link to post
Share on other sites

Je pense que vous ne comprenez pas ce que vous écrivez :(

si vous mettez 5, ça voudra dire:

si le produit est supérieur à 5 et si le produit est inférieur ou égal à 5...

Si vous ne voulez afficher les quantités restantes QUE si la limite de stock est atteinte c'est :

if ($product->quantity < $last_qties)

 

Share this post


Link to post
Share on other sites
6 hours ago, Eolia said:

Je pense que vous ne comprenez pas ce que vous écrivez :(

si vous mettez 5, ça voudra dire:

si le produit est supérieur à 5 et si le produit est inférieur ou égal à 5...

Si vous ne voulez afficher les quantités restantes QUE si la limite de stock est atteinte c'est :


if ($product->quantity < $last_qties)

 

J'ai donc testé ce

{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity > $last_qties} {l s='article(s) en stock'}</span></p>
            {/if}

mais le nombre de produit n'apparait pas.

J'ai juste mon texte qui apparait: Il ne reste plus que article(s) en stock

ai-je oublié quelque chose?

Share this post


Link to post
Share on other sites
<p class="warning_inline" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if}>
	{if ($product->quantity <= $last_qties)}
	{l s='Il ne reste plus que'} <span style="color:#44B449;">{$last_qties} {if $last_qties == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>
	{/if}
</p>

 

Share this post


Link to post
Share on other sites
13 hours ago, Eolia said:

<p class="warning_inline" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if}>
	{if ($product->quantity <= $last_qties)}
	{l s='Il ne reste plus que'} <span style="color:#44B449;">{$last_qties} {if $last_qties == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>
	{/if}
</p>

 

Merci Eolia,

j'ai testé avec ceci:

<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$last_qties} {if $last_qties == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}</p>

j'ai bien mon message 'il ne reste plus que 5 articles

Mais cela affiche quand même 5 même quand j'en ai plus qu'un.

Cela n'affiche pas le 'vrais' stock

Share this post


Link to post
Share on other sites

Oups...

<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $last_qties == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}</p>

 

Share this post


Link to post
Share on other sites
1 hour ago, Eolia said:

Oups...


<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $last_qties == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}</p>

 

ca fonctionne, la bonne quantité est affiché.

Juste un problème, ont ne peut plus ajouter au panier sur un produit ou le message ne s'affiche pas

Share this post


Link to post
Share on other sites

C'est à dire ? Le bouton n’apparaît pas ? Car il n'y a pas vraiment de lien, là on ne touche qu'à l'affichage d'un bloc d'information.

Share this post


Link to post
Share on other sites
17 minutes ago, Eolia said:

C'est à dire ? Le bouton n’apparaît pas ? Car il n'y a pas vraiment de lien, là on ne touche qu'à l'affichage d'un bloc d'information.

si le bouton apparait, mais quand ont clique dessus, rien ne s'affiche au panier, et la fenetre de confirmation ne s'affiche pas non plus.

Ont clique sur le bouton, mais pas d'action

Share this post


Link to post
Share on other sites

Affichage des erreurs activés ?

Erreur dans la console du navigateur ?

Share this post


Link to post
Share on other sites
50 minutes ago, Eolia said:

Affichage des erreurs activés ?

Erreur dans la console du navigateur ?

J'ai vidé le cache, ca fonctionne.

Super! Merci EOLIA

J'ai mis article(s) car le S s'affiche même si il reste 1 produit.

PS:As tu reçu mon mail suite à notre conversation de novembre? car je n'ai pas eu de news.

Share this post


Link to post
Share on other sites

Non c'est la variable qui n'est pas bonne, voici le code final ok

<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $product->quantity == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}</p>

PS: Oui mais j'ai pris du retard suite à de gros soucis de net avec Orange...

Share this post


Link to post
Share on other sites
3 minutes ago, Eolia said:

Non c'est la variable qui n'est pas bonne, voici le code final ok


<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $product->quantity == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}</p>

PS: Oui mais j'ai pris du retard suite à de gros soucis de net avec Orange...

Je vais testé ca dans la journée.

Ps: pas de problème pour le retard, mais je ne savais pas si tu avait recu mon mail.

Ce n'est plus pressé.

Share this post


Link to post
Share on other sites
On 12/24/2018 at 11:32 AM, Eolia said:

Non c'est la variable qui n'est pas bonne, voici le code final ok


<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $product->quantity == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}</p>

PS: Oui mais j'ai pris du retard suite à de gros soucis de net avec Orange...

Merci Eolia, ca fonctionne très bien.

Cela as t il un impacte sur le cache?

Car j'utilise le page cache ultimate.

Share this post


Link to post
Share on other sites

Non, rien à voir

Et perso, les modules de cache c'est un peu de la poudre aux yeux...

Share this post


Link to post
Share on other sites

je reviens sur ce sujet, car je voudrais 'peaufiner' la quantité qui s'affiche 0 quand il n y a plus de stock.

Comment ne pas afficher le message si la quantité est à 0?

Sur certains produit, je vais autoriser les commandes hors stock, et ce message s'affiche. Je vous juste ne pas l'afficher quand la quantité est à 0

merci pour votre aide précieuse.

Share this post


Link to post
Share on other sites
<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
                                       {if $product->quantity == 0} {else}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $product->quantity == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}{/if}</p>

Devrait très bien fonctionné 

Share this post


Link to post
Share on other sites
40 minutes ago, Farris27 said:

<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
                                       {if $product->quantity == 0} {else}
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $product->quantity == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}{/if}</p>

Devrait très bien fonctionné 

bonjour,

ca ne fonctionne pas.

J'ai ajouté {if ($product->quantity <= $last_qties)}

et fermé le if à la fin du code.

Mais la phrase est toujours là quand il y a 0 produit

Ai-je oublié quelque chose?

merci pour ton aide

Share this post


Link to post
Share on other sites

Bonjour, essayons cela alors :  

<p class="warning_inline" style="color:#000;display: none;" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >
{if ($product->quantity <= $last_qties)}
                                       {if $product->quantity != 0} 
{l s='Il ne reste plus que'} <span style="color:#44B449;">{$product->quantity} {if $product->quantity == 1}{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span>{/if}{/if}</p>

Peux tu me faire un copier coller de ce que tu as tenté? 

Share this post


Link to post
Share on other sites

Voici

<span id="availability_value_bis" class="label{if $product->quantity <= 0 && !$allow_oosp} label-danger{elseif $product->quantity <= 0} label-warning{else} label-success{/if}">{if $product->quantity <= 0}{if $PS_STOCK_MANAGEMENT && $allow_oosp}{$product->available_later}{else}{l s='indisponible'}{/if}{elseif $PS_STOCK_MANAGEMENT}{$product->available_now}{/if}</span>	pour l'expédition.
					
					{if ($product->quantity <= $last_qties)} 
					{if $product->quantity != 0} 
<p style="margin-bottom: initial;"><span>{l s='Il reste '}</span> <span id="availability_value_bis">{$product->quantity} {if $product->quantity == 1}<span id="availability_value_bis">{l s='article'}{else}{l s='articles'}{/if} {l s='en stock'}</span></span></p>{/if}{/if}
					</div>

 

Share this post


Link to post
Share on other sites

la phrase vient du js aussi :)

product.js

Share this post


Link to post
Share on other sites

je ne connais pas le js.

Merci quand même

Share this post


Link to post
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

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More