Jump to content

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 !
 
 
Link to comment
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)

Link to comment
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
Link to comment
Share on other sites

  • 1 month later...
  • 2 years later...

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; }

 

 

Link to comment
Share on other sites

  • 5 months later...

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

Link to comment
Share on other sites

  • 4 weeks later...
On 3/23/2017 at 7:04 AM, [email protected] 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

Link to comment
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.

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

Link to comment
Share on other sites

  • 6 months later...

Bonjour

 

je remonte le sujet car toujours  pas de modules en vue :) 

Il faut bien changer et placer ce code dans 2 fichiers seulement ?

CAR là j’ai l’impression qu’il le met dans 3 fichiers ? Ce serait peut être la raison pour laquelle ça ne fonctionne pas chez moi ?

Ou alors du theme sur lequel j’ai fait les changements 

On 5/8/2020 at 4:11 PM, vtrinel said:

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. 

 

Merci d’avance pour vos réponses :) 

 

 

 

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

Cet astuce est pour coller une image sur l'autre.

Mais y a t'il un module vendu en watermark sur image qui remplace l'image initiale par l'image + vendu qui apparaît sur les moteurs de recherche ?

Car cette astuce est pratique une fois l'utilisateur sur le site mais en recherche par image il ne voit par vendu mais que l'image produit.

Merci de toute aide mais je continue à chercher..

A+

Edited by poxe (see edit history)
Link to comment
Share on other sites

  • 4 months later...
On 3/23/2017 at 12:04 PM, [email protected] 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

Ou se trouve le fichier CSS à modifier SVP

Merci

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