Jump to content

Selection d'un attribut avant ajout au panier...


space

Recommended Posts

Bonjour,

J'écris ici car il me semblais avoir lu que depuis la v1.2 beta, il était possible de sélectionner le ou les attributs d'un produit un cliquant sur le bouton ajouter au panier... mais j'ai testé et j'ai pas trouvé !

Je m'explique:
Sur la fiche produit, j'ai un attribut à sélectionner (la taille du produit) avant que le client ne clique sur "ajouter au panier" (cf 1ere image).
Quand je suis dans la liste des produits de la catégorie ou de la sous catégorie, ou même dans les produits phares, le client n'a pas la possibilité de sélectionner la taille du produit avant de l'ajouter au panier (cf 2ème image)... et c'est l'attribut par défaut qui est ajouté...

C'est très bloquant car ça va me générer beaucoup d'erreur de commandes (et donc des retours, des avoirs, et un mécontentement des clients...) au lancement de ma boutique.

Cette fonctionnalité a-t-elle été implémentée? Si oui comment fait-on pour la mettre en place, et si non un développement est-il prévu pour pallier à cet inconvénient (majeur dans mon cas) ?

Cordialement,

Sam_

9140_ndBXKCKfVuxOgXqiJJtE_t

9141_000xfjA1f3OJXnbjMEkZ_t

Link to comment
Share on other sites

Je ne connais pas la beta, j'ai la 1.1.0.5, mais j'ai pensé comme vous, donc j'ai modifié le code pour que le bouton "ajouter au panier" ne soit pas visible quand il y a au moins un attribut. Ca oblige le client à cliquer sur "voir le produit".

Quand il n'y a pas d'attribut le bouton "ajouter au panier" est présent, il peut cliquer directement sans incidence.

Link to comment
Share on other sites

Je serai interéssé par le code pour ne pas afficher le bouton :cheese:


Mon thème est assez différent de celui d'origine, mais je viens de regarder et en fait il n'y a qu'un test à ajouter.

Fichier product-list.tpl de votre thème :

PAR DEFAUT:
               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
{l s='Add to cart'}
               {else}
{l s='Add to cart'}
               {/if}
{l s='View'}









MODIF:

               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
                       {if !isset($product.id_product_attribute)}
{l s='Add to cart'}    
                       {/if}
               {else}                        
{l s='Add to cart'}
               {/if}    
{l s='View'}        






En fait au lieu d'afficher le bouton "ajouter au panier" je test si ce produit est configuré avec des attributs, si pas d'attribut pour ce produit la variable "$product.id_product_attribute" n'existe pas (not set / ie !isset()), dans ce cas j'affiche le bouton.

Alek.

Link to comment
Share on other sites

Hello,

Oui très bonne idée, mais je n'ai pas encore chercher à gérer les langues (mon site est et sera 100% fr...) donc il y a bien une solution mais c'est brut de décoffrage : texte directement dans le tpl :s

Il suffit de mettre un "else", et , par exemple, d'utiliser la class "exclusive" du bouton grisé "ajouter au panier" pour mettre le texte dont tu parles (le plus court possible...)

exemple:

{if !isset($product.id_product_attribute)}
{l s='Add to cart'}    
{else}
(Options requises)
{/if}



Et tant qu'on y est, du coup il faudrait changer le texte "voir le produit" en "Choisir les Options" ou "Voir les Options"...

9160_pg78hoyEBzbFV73QIypJ_t

Link to comment
Share on other sites


Et tant qu'on y est, du coup il faudrait changer le texte "voir le produit" en "Choisir les Options" ou "Voir les Options"...


Ce qui donne ça :

               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
                       {if !isset($product.id_product_attribute)}
{l s='Add to cart'}    
                       {else}
(Options requises)
                       {/if}
               {else}                        
{l s='Add to cart'}
               {/if}    
               {if !isset($product.id_product_attribute)}
{l s='View'}
               {else}
Voir les options
               {/if}





9161_jCcPlq3nvFCj4KLo4aOT_t

Link to comment
Share on other sites

Je trouve ta proposition sympathique, mais ce que je souhaite c'est que le client puisse ajouter le produit au panier avec les bonnes options directement, et ce afin d'optimiser le taux de transformation...

Quelqu'un de la PrestaTeam pourrait certainement répondre à mon post initial... ?

Chers membres de la PrestaTeam, pourriez-vous nous renseigner, svp ? ;)

Cdt

Link to comment
Share on other sites

pour la langue c'est simple, il suffit simplement de faire

{l s='(Options requises)'}



Ensuite aller dans le BO, Outils, traductions, choisir traductions de front office dans la langue choisie, chercher dans la liste product-list, là on trouve un champ correspondant à Options requises que l'on remplit par la traduction, ensuite on enregistre les modifications. Le fichiers de langue (fr.php, en.php... ) est mis à jour.

Link to comment
Share on other sites

pour la langue c'est simple, il suffit simplement de faire

{l s='(Options requises)'}



Ensuite aller dans le BO, Outils, traductions, choisir traductions de front office dans la langue choisie, chercher dans la liste product-list, là on trouve un champ correspondant à Options requises que l'on remplit par la traduction, ensuite on enregistre les modifications. Le fichiers de langue (fr.php, en.php... ) est mis à jour.



Ah oui... c'est carrément très bien ce système !
Du coup j'ai corrigé au propre tout ce que j'avais modifié à la bourrin :-/
Link to comment
Share on other sites

Une piste qui serait magnifique, mais je capte rien à l'ajax... :(

Un module a été développé (une extension de blockcart) par Marghoob Suleman pour laisser le choix aux clients de rester sur la page actuelle lors de l'achat ou de procéder au paiement... si on pouvait remplacer ces choix par les groupes d'attributs, ça serait tout simplement superbe !

http://marghoobsuleman.com/prestashop-modules/prestashop-modules-add-to-cart-extended

Qu'en pensez-vous ?

Link to comment
Share on other sites

Je pense que ça serait assez facile à faire, mais si on a 5 ou 6 choix d'option... on va les mettre où ? :/
Va falloir un template adapté, donc potentiellement avec de grands espace blanc quand il y a peu ou pas d'option, ou, si c'est du flottant, un sacré décalage entre les affichages de produits :o

Link to comment
Share on other sites

2 choses:
- on peut faire ça sous forme de menu (nom du groupe d'attributs > sélection de l'attribut), menu qui apparait au surval du bouton ajouter au panier...
- le code du product.tpl ne convient pas car dans les autres pages l'objet $product n'est pas chargé alors qu'il l'est dans ce fichier... et si on charge un objet par produit affiché, à mon avis ça va ramer... je pense que c'est pour ça que ça ne semble pas avoir encore été développé...

Link to comment
Share on other sites

bonjour,

Je suis aussi trés intéressé par le développement d'une telle option.
Ci quelqu'un a une idée de comment implémenté ce développement dans prestashop ?
merci,

et encore un gros bravo à toute la team de presta

Link to comment
Share on other sites

Salut,

petite idée qui me vient comme ça :

Si tu créées un attribut avec le nom "choisir une option" et que tu mets son stock à zéro.

avec l'option commande si stock supérieur à zéro le client ne pourra pas valider sa commande, le bouton est désactivé.

Du coup il est obligée de choisir un attribut " 90 B" par exemple qui lui n'est pas à zéro au niveau du stock.

Suis je clair?

V++

Atch

Link to comment
Share on other sites

Oui Atch, mais comme je l'ai déjà précisé, si tu veux avoir le meilleur taux de transformation possible, il faut que le client puisse ajouter le produit avec le ou les bons attributs depuis n'importe quelle page d'où il est visible...

Cdt

Link to comment
Share on other sites

Oui Atch, mais comme je l'ai déjà précisé, si tu veux avoir le meilleur taux de transformation possible, il faut que le client puisse ajouter le produit avec le ou les bons attributs depuis n'importe quelle page d'où il est visible...

Cdt


Oui en fait ça dépend des types de déclinaisons, ça ne conviendrait pas à mes produits puisque mes déclinaisons sont carrément d'une forme différente...
Par exemple: je crée un produit pour une collection d'objets (la couleur et le design forme cette collection), mais les déclinaisons sont par exemple "sphère, pilier rond, pilier carré, etc..."

Donc je ne comprenais pas bien la nécessité de ce raccourci. Mais évidemment si on parle du même objet avec des tailles différentes il est souhaitable de ne pas obliger le client à charger la page des détails du produit, vous avez raison.
Link to comment
Share on other sites

Un truc a faire egalement, forcer le choix d un attribut avant l achat, cad qu il n y a pas d attribut selectionner par default.
C'est tres util pour le pret a porter par exemple.
L'astuce de Atch est pas mal dans ce sens mais elle ne fonctionne pas avec l option "masquer les attribut dont le stock est a 0", et qu il faudrait pouvoir choisir l ordre d affichage des attributs

Link to comment
Share on other sites

  • 3 weeks later...

Et tant qu'on y est, du coup il faudrait changer le texte "voir le produit" en "Choisir les Options" ou "Voir les Options"...


Ce qui donne ça :

               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
                       {if !isset($product.id_product_attribute)}
{l s='Add to cart'}    
                       {else}
(Options requises)
                       {/if}
               {else}                        
{l s='Add to cart'}
               {/if}    
               {if !isset($product.id_product_attribute)}
{l s='View'}
               {else}
Voir les options
               {/if}







pffffffff mince :/
Cette modif ne fonctionne plus parce que je suis en train de mettre des quantités à zéro, déclinaisons comprises, pour afficher le message "Fabrication le jour même", et produit commandable quand même malgré l'absence de stock.

Quand le stock est à zéro
{if !isset($product.id_product_attribute)}

renvoit TRUE (ie "$product.id_product_attribute" n'existe pas) :/

Faut que je trouve autre chose pour savoir si des déclinaisons existent même quand leur stock est à 0

Si kk1 a une idée ;)

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

Je fais petit à petit le MAJ en local avec PS1.2.1

Et jusqu'à maintenant, à la différence de beaucoup d'autres sur ce forum, ça ne se passe pas si mal que ça
Il me reste qud même cette problématique importante pour moi, c'est d'enlever le panier qud il y a des attributs afin que la personne aille obligatoirement sur la page de l'article

Tout d'abord, Je suis étonné que cette fonction ne soit tjrs pas native sur PS 1.2.1

La transformation de product-list.tpl par Alekhine sur la v 1.1.0.5 fonctionnait parfaitement.
Mais en l'utilisant en V 1.2.1, le panier ne s'affiche plus du tout, y compris pour les articles sans attribut

Alors si Alekhine passait par là

Merci

Link to comment
Share on other sites

C'est pour moi un développement spécifique car selon les magasins ....

C'est possible mais rien qu'afficher toutes les options possibles par produit sur une page catégorie, déjà il faut méchamment l'optimiser.

Sinon je pense que compléter l'ajax d'ajout au panier serait assez simple, il faut juste rajouter le paramètre 'ipa' pour savoir quelle combinaison est choisie.

Cordialement

Link to comment
Share on other sites

La transformation de product-list.tpl par Alekhine sur la v 1.1.0.5 fonctionnait parfaitement.
Mais en l'utilisant en V 1.2.1, le panier ne s'affiche plus du tout, y compris pour les articles sans attribut

Alors si Alekhine passait par là

Merci


Hello,

Je suis encore sur 1.1.0.5, sinon j'aurais refait toutes les modifs nécessaires, mais là :/

J'installerais une 1.2 en local pour voir si je peux faire comme sur la 1.1.0.5, mais en ce moment je code 12h par jour donc j'ai juste le temps de dormir :D

T'as essayé de t'inspirer de la modif pour l'adapter à la 1.2 ? c'est sûrement très proche...

Alek.
Link to comment
Share on other sites

T’as essayé de t’inspirer de la modif pour l’adapter à la 1.2 ? c’est sûrement très proche…


En effet j'ai remplacé :
    {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2 }
{l s='Add to cart'}
               {else}
{l s='Add to cart'}
               {/if}
{l s='View'}





par :

{if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
                       {if !isset($product.id_product_attribute)}
{l s='Add to cart'}    
                       {else}
(Options)
                       {/if}
               {else}                        
{l s='Add to cart'}
               {/if}    
               {if !isset($product.id_product_attribute)}
{l s='View'}
               {else}
Voir les options
               {/if}




Et je me retrouve avec l'article qui a des attributs, en "options"
Mais également, les articles qui n'ont pas d'attributs et sans le panier

Link to comment
Share on other sites

Mais je vois des “;”
Oui en effet, c'est le forum qui les ajoute

J'ai très peu de connaissance ds ce domaine sauf ma "perspicacité" ;-)
J'ai donc fait des modif et ça fonctionne

Qu'en penses tu ?
            {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
                       {if ($product.id_product_attribute)}
(Options)
                       {else}
{l s='Add to cart'}
                       {/if}
               {else}                        
{l s='Add to cart'}
               {/if}    
               {if !isset($product.id_product_attribute)}
{l s='View'}
               {else}
Voir les options
               {/if}



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