Jump to content

Afficher Les Quantités Disponibles Par Déclinaisons Dans La Liste Déroulante


moods

Recommended Posts

Bonjour,

 

Je viens vers vous pour essayer de résoudre un problème dont je n'ai pas trouvé de solutions en recherchant un peu partout.

 

Sur ma fiche produit, j'ai une liste déroulante correspondant à des déclinaisons qui affiche les différentes tailles disponible à l'achat ( magasin de chaussure )

 

J'ai souhaité afficher les attributs indisponibles sur la fiche produit.

 

Je voudrais " simplement " ajouter dans la liste déroulante le nombre de produits disponibles à côté de chaque taille donc de chaque déclinaisons.

 

Si on prends l'exemple du site Faguo : http://www.faguo-sho...rt-de-gris.html

 

On constate que dans la liste déroulante, la taille qui n'est plus disponible possède un texte " épuisé " à côté de la taille correspondante.

 

Merci d'avance !

 

En espérant avancer à plusieurs pour trouver une vrai solution.

 

Thomas

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

Bonjour,

vous avez demandé à "faguo" où il avait trouvé ce module ?

Ceci implique de n'avoir qu'un attribut par produit, si vous avez en attribut la taille et la couleur ce n'est plus possible.

 

Bonjour,

 

Je n'ai pas demandé à Faguo ... pas encore.

 

Sinon j'ai effectivement qu'un seul attribut avec plusieurs valeurs : La taille

Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...
  • 2 weeks later...

Bonjour

une petite solution maison pour celui que cela intéresse

 

Version presta 1,5

 

sur product.tpl ligne 315 env.

 

rajouter ceci dans <option>

{foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.0 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{$floo}{/if}{/foreach}{/foreach}

 

pour donner ceci :

<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'} {foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.0 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{$floo}{/if}{/foreach}{/foreach}</option>

 

ca marche mais c'est loin d'etre propre

  • Like 2
Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...

Bonjour

 

Super réponse !

 

L'effet fonctionne bien, je vais le modifier votre code pour afficher seulement " épuisé " pour la déclinaison indisponible !

 

Merci encore !

 

Salut! J'aimerai modifier ce code de manière à avoir juste "épuisé" aussi. Tu pourrais m'aider stp?

 

Merci bcp!

Link to comment
Share on other sites

Salut! J'aimerai modifier ce code de manière à avoir juste "épuisé" aussi. Tu pourrais m'aider stp?

 

Merci bcp!

 

Salut !

 

Alors voila le code avec la mention "épuisé" à côté d'une déclinaison lorsque sa quantité = 0

<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'} {foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.0 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{if $floo == '0'}épuisé{/if}{/if}{/foreach}{/foreach}</option>

De rien !

  • Like 2
Link to comment
Share on other sites

 

Salut !

 

Alors voila le code avec la mention "épuisé" à côté d'une déclinaison lorsque sa quantité = 0

<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'} {foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.0 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{if $floo == '0'}épuisé{/if}{/if}{/foreach}{/foreach}</option>

De rien !

 

Merci bcp!

Par contre, j'ai 2 attributs (taille et couleurs (blanc & noir)). Du coup, ça me met "épuisé" si seulement épuisé en taille S et blanc et "épuiséépuisé" si épuisé en taille S et blanc et taille S et noir.

 

Merci énormément en tout cas, je débute avec prestashop, est ce que t'as une idée comment gérer ça?

Link to comment
Share on other sites

Merci bcp!

Par contre, j'ai 2 attributs (taille et couleurs (blanc & noir)). Du coup, ça me met "épuisé" si seulement épuisé en taille S et blanc et "épuiséépuisé" si épuisé en taille S et blanc et taille S et noir.

 

Merci énormément en tout cas, je débute avec prestashop, est ce que t'as une idée comment gérer ça?

 

Re,

 

c'est bon, j'ai décidé finalement de ne pas afficher dans la fiche produit les déclinaisons non disponibles. 

 

merci bien!

  • Like 1
Link to comment
Share on other sites

  • 6 months later...

Re,

 

c'est bon, j'ai décidé finalement de ne pas afficher dans la fiche produit les déclinaisons non disponibles. 

 

merci bien!

 

Bonjour,

 

moi je serais intéressé de savoir comment régler le souci et afficher "épuisé" à coté de chaque déclinaison indisponible, je dispose de 2 champs : Couleur et Taille

 

Normalement on choisi la couleur puis on regarde si la taille est disponible ou épuisée.

 

Help ?

 

Merci

Link to comment
Share on other sites

  • 5 months later...
  • 8 months later...
  • 3 months later...
  • 2 weeks later...
  • 11 months later...

Bonjour

une petite solution maison pour celui que cela intéresse

 

Version presta 1,5

 

sur product.tpl ligne 315 env.

 

rajouter ceci dans <option>

{foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.0 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{$floo}{/if}{/foreach}{/foreach}
pour donner ceci :

<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'} {foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.0 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{$floo}{/if}{/foreach}{/foreach}</option>
ca marche mais c'est loin d'etre propre

 

 Merci ça marche très bien même sur une version PS 1.4 :)

Link to comment
Share on other sites

  • 6 months later...

Pour ceux qui cherchais la réponse pour prestashop 1.6.1.12 voici le code et également la fonction de "disabled" pour les articles épuisé.

<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}"{foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.1 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{if $floo == '0'}disabled{/if}{/if}{/foreach}{/foreach}>
   {$group_attribute|escape:'htmlall':'UTF-8'} 
   {foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.1 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{if $floo == '0'} - Épuisé -{/if}{/if}{/foreach}{/foreach}
</option>
Edited by Chamsft (see edit history)
Link to comment
Share on other sites

  • 1 month later...

 

Pour ceux qui cherchais la réponse pour prestashop 1.6.1.12 voici le code et également la fonction de "disabled" pour les articles épuisé.

<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}"{foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.1 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{if $floo == '0'}disabled{/if}{/if}{/foreach}{/foreach}>
   {$group_attribute|escape:'htmlall':'UTF-8'} 
   {foreach from=$combinations item=foo}{foreach from=$foo key=key item=floo}{if $key == 'attributes'}{if $floo.1 == $id_attribute}{assign var="verif" value="true"}{else}{assign var="verif" value="false"}{/if}{/if}{if $key == 'quantity' && $verif == 'true'}{if $floo == '0'} - Épuisé -{/if}{/if}{/foreach}{/foreach}
</option>

Bonjour,

 

J'ai essayé ça sur la page product.tpl mais ça ne marche pas pour moi en 1.6.1.4 :/ ça n'affiche rien du tout à côté des pointures... une idée?

 

Merci d'avance

Edited by Holycow2 (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...