Jump to content
ext231@gmail.com

afficher VENDU sur la photo d'un produit dont le stock est à 0

Recommended Posts

Salut à tous,

 

Je cherchais un module (prestashop 1.7)  pour "afficher VENDU sur la photo du produit"... sans succès.

 

Finalement, en m'inspirant de ce post
https://www.prestashop.com/forums/topic/59840-resolu-module-pour-afficher-vendu-sur-la-photo-du-produit/

 

j'ai résolu le problème comme suit, pour le thème Classic par défaut de prestashop 1.7:

 

Modification du fichier 'product.tpl' :

/themes/classic/templates/catalog/_partials/miniatures/product.tpl

 

ajout du code:

{if ($product.allow_oosp OR $product.quantity == 0)}

 <li class="vendu">Vendu</li>{/if}
 
dans le bloc 'product_flags'
code après le changement:
 
   {block name='product_flags'}
      <ul class="product-flags">
        {if ($product.allow_oosp OR $product.quantity == 0)}
        <li class="vendu">Vendu</li>{/if}
        {foreach from=$product.flags item=flag}
          <li class="{$flag.type}">{$flag.label}</li>
        {/foreach}
      </ul>
    {/block}
 
il ne rest plus qu'a faire une class 'vendu' dans les css pour gérer l'apparence du flag
... et hop, plus besoin de module !
 
 

Share this post


Link to post
Share on other sites

et donc, quelle est la question ?

 

PS : en l'état, vous allez afficher vendu également si vous acceptez les commandes hors stock, même si le stock est positif.

Share this post


Link to post
Share on other sites

et donc, quelle est la question ?

 

PS : en l'état, vous allez afficher vendu également si vous acceptez les commandes hors stock, même si le stock est positif.

Pas de question, juste cette astuce à partager !

 

au sujet des commandes hors stock, c'est à cause du $product.allow_oosp ?

je ne connais pas son utilité et je l'ai juste copié/coller (bêtement)

Share this post


Link to post
Share on other sites

c'est ça

allow_oosp correspond à la valeur de "en cas de rupture de stock" refuser/accepter

du moins, en 1.6 

Je ne sais pas comment c'est présenté dans l'admin de 1.7

Share this post


Link to post
Share on other sites

Merci pour l'info !

 

J'ai modifié mon code pour virer cette condition, on affiche un flag 'vendu' uniquement si la quantité du produit est à 0

 fichier 'product.tpl' :

/themes/classic/templates/catalog/_partials/miniatures/product.tpl

 

ligne 67:

    {block name='product_flags'}
      <ul class="product-flags">
        {if ($product.quantity == 0)}
        <li class="vendu">Vendu</li>{/if}
        {foreach from=$product.flags item=flag}
          <li class="{$flag.type}">{$flag.label}</li>
        {/foreach}
      </ul>
    {/block}

et tant qu'on y est, la classe 'vendu' dans la css (à adapter en fonction du templates)

.product-flags .vendu {
    display:block;
    position:absolute;
    left:-.4375rem;
    top:.4375rem;
    padding:.3125rem .4375rem;
    color:#fff;
    background:#2fb5d2;
    text-transform:uppercase;
    min-width:200px;
    min-height:1.875rem;
    font-size:1rem;
    font-weight:600;
    box-shadow:2px 2px 11px 0 rgba(0,0,0,.1);
    z-index:1;
    border-radius: 4px 0 4px 0;
}
  • Like 1

Share this post


Link to post
Share on other sites

BONJOUR

LES LIGNE SI DESSUS SONT POUR DU 1.6 OU 1.7 

ET SI SUR 1.6 SUR QUEL THEME L AVEZ VOUS FAIT ?

MERCI

Share this post


Link to post
Share on other sites

bonnjour, dans quel css il faut mettre cela

 

.product-flags .vendu { display:block; position:absolute; left:-.4375rem; top:.4375rem; padding:.3125rem .4375rem; color:#fff; background:#2fb5d2; text-transform:uppercase; min-width:200px; min-height:1.875rem; font-size:1rem; font-weight:600; box-shadow:2px 2px 11px 0 rgba(0,0,0,.1); z-index:1; border-radius: 4px 0 4px 0; }

 

 

Share this post


Link to post
Share on other sites

Bonjour, je fais remonter ce post j'ai mis ce code sur ma boutique , c'est très bien .

J'ai pu adapté la taille, la couleur .. etc , sauf la position du bandeau je le voudrais en bas à droite, j'ai réussi à le mettre à droite mais pas en bas de la case produit est ce possible de faire ce changement ? Par avance merci

Share this post


Link to post
Share on other sites
On 3/23/2017 at 7:04 AM, ext231@gmail.com said:

Merci pour l'info !

 

J'ai modifié mon code pour virer cette condition, on affiche un flag 'vendu' uniquement si la quantité du produit est à 0

 fichier 'product.tpl' :

/themes/classic/templates/catalog/_partials/miniatures/product.tpl

 

ligne 67:


    {block name='product_flags'}
      <ul class="product-flags">
        {if ($product.quantity == 0)}
        <li class="vendu">Vendu</li>{/if}
        {foreach from=$product.flags item=flag}
          <li class="{$flag.type}">{$flag.label}</li>
        {/foreach}
      </ul>
    {/block}

et tant qu'on y est, la classe 'vendu' dans la css (à adapter en fonction du templates)


.product-flags .vendu {
    display:block;
    position:absolute;
    left:-.4375rem;
    top:.4375rem;
    padding:.3125rem .4375rem;
    color:#fff;
    background:#2fb5d2;
    text-transform:uppercase;
    min-width:200px;
    min-height:1.875rem;
    font-size:1rem;
    font-weight:600;
    box-shadow:2px 2px 11px 0 rgba(0,0,0,.1);
    z-index:1;
    border-radius: 4px 0 4px 0;
}

Bonjour, j'ai fait exactement ce que vous avez écrit dans le product.tpl j'ai échangé le code existant par celui mentionné. puis dans mon custom.css et dans mon theme.css j'ai ajouter le flag. 

Rien n'apparait ni dans la liste ou grille avec les miniatures des produits, ni sur la fiche produit. 

J'ai bien la version 1.7 

Est ce que j'ai manqué ou mal fait une étape ?

Merci

Share this post


Link to post
Share on other sites

Bonjour,

Quand on fait une modification sur un fichier TPL, il faut forcer la compilation pour que les modifications soient bien prises en compte.

Section Paramètres avancés >> Performances >> Compilation des templates en back-office.

Share this post


Link to post
Share on other sites
21 minutes ago, Divine said:

Bonjour,

Quand on fait une modification sur un fichier TPL, il faut forcer la compilation pour que les modifications soient bien prises en compte.

Section Paramètres avancés >> Performances >> Compilation des templates en back-office.

Je l'ai fait et rien ne se passe. 

Est ce que je devait absolument le faire dans les fichier du  thème classic car j'ai fait les changements dans mon thème actif. 

Merci

Share this post


Link to post
Share on other sites

Il faut bien faire les modifications au niveau du thème actif sur ta boutique.

Essaye de vider le cache éventuellement.

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

×
×
  • Create New...

Important Information

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