Comment ajouter un select a mon panier
Fermé
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
-
Modifié le 22 janv. 2022 à 11:20
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 15 févr. 2022 à 11:46
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 15 févr. 2022 à 11:46
A voir également:
- Comment ajouter un select a mon panier
- Ajouter un compte gmail - Guide
- Ajouter un compte whatsapp - Guide
- Mon panier cdiscount ✓ - Forum Consommation & Internet
- Savoir comment on nous a ajouter sur snap - Forum Snapchat
- Problème panier Cdiscount - Forum Consommation & Internet
3 réponses
Salut,
quelques remarques pour t'aider:
ce code n'est pas très organisé.
Par exemple tu crée un objet MonPanier qui contient tout le reste dans une fonction anonyme qui n'est pas utilisable.
La parenthèse après le "= " indique que l'ensemble est interne donc rien ne peut en sortir sauf ce qui est renvoyé.
Pour créer un objet il existe plusieurs façon de faire, un objet est un paradigme(principe?) de programmation qui regroupe des éléments par thématique et peut ensuite être utilisé.
Bon pour créer un objet plusieurs façons de faire:
Avec Object.create qui est l'ancienne façon de faire qui n'est plus vraiment d'actualité.
Elle permet toutefois l'écriture (dite) prototypale( en utilisant le prototype) et de comprendre cette notion si besoin.
En écriture littérale. Le texte et non une fonction est utilisée pour créer un objet et ses propriétés(nom et valeurs pour le nom de l'objet).
C'est d'ailleurs cette méthode qui est employée ici avec la variable obj
va créer un objet vide.
On peut ensuite lui ajouter des attributs(le nom) et ses valeurs.
voir aussi comment fonctionne les portées d'une variable, elle n'existent que
dans le contexte de leur utilisation(dans une fonction si elle sont crées dans une fonction, dans un objet si elle sont crées dans l'objet... dans les accolades d'u if si elle sont crées dans ...etc
AINSI ON NE PEUT PAS OBTENIR DE L'EXTERIEUR QUELQUE CHOSE QUI EST A L'INTERIEUR D'UNE VARAIBLE, FUNCTION, OBJECT etc...
D'où l'utilisation de return qui permet de renvoyer une valeur, dans l'exemple c'est obj.maValeur (même si obj.maValeur revient au même mais c'est pour un exemple simple du principe).
Bref sans aller plus loin c'est une question d'organisation et de réfléchir au fonctionnement du programme avant d'écrire. De lister les valeurs à utiliser ,
par principe toutes les variables sont mises au début pour les voir d'un coup ce qui simplifie la vie quand on veut/doit utiliser chaque brique ensemble.
Aussi autant se passer de JQuery et le sélecteur du lien pour l'événement gagnerait à être une id plutôt qu'une classe. Une ID est unique, une classe peut être multiple. Cela permet d'éviter des erreurs et d'affirmer un principe(il n'y a qu'un bouton pour le même événement) ce qui le rend plus clair et lisible(donc avec une classe réutilisable pour faire plusieurs boutons).
Essayer de faire l'objet directement dans l'écriture littérale puis de l'utiliser.
Par exemple:
Un dernier détail important. Un tableau n'est pas le mieux pour stocker plusieurs valeurs, en tout cas si on veut les utiliser facilement car imbriquer des tableaux peut devenir un peu complexe pour pas grand chose.
On peut par exemple utiliser un objet.
Et donc:
quelques remarques pour t'aider:
ce code n'est pas très organisé.
Par exemple tu crée un objet MonPanier qui contient tout le reste dans une fonction anonyme qui n'est pas utilisable.
var MonPanier = ( function(){ panier = [];
La parenthèse après le "= " indique que l'ensemble est interne donc rien ne peut en sortir sauf ce qui est renvoyé.
Pour créer un objet il existe plusieurs façon de faire, un objet est un paradigme(principe?) de programmation qui regroupe des éléments par thématique et peut ensuite être utilisé.
Bon pour créer un objet plusieurs façons de faire:
Avec Object.create qui est l'ancienne façon de faire qui n'est plus vraiment d'actualité.
Elle permet toutefois l'écriture (dite) prototypale( en utilisant le prototype) et de comprendre cette notion si besoin.
En écriture littérale. Le texte et non une fonction est utilisée pour créer un objet et ses propriétés(nom et valeurs pour le nom de l'objet).
C'est d'ailleurs cette méthode qui est employée ici avec la variable obj
var obj={}
va créer un objet vide.
On peut ensuite lui ajouter des attributs(le nom) et ses valeurs.
obj.maValeur = 3.14//-- ajoute l'attribut mavaleur à l'objet obj obj.envoiMaValeur= function(){ console.log(this.mavaleur)//-- le this fait référence à obj ici return this.maValeur }
voir aussi comment fonctionne les portées d'une variable, elle n'existent que
dans le contexte de leur utilisation(dans une fonction si elle sont crées dans une fonction, dans un objet si elle sont crées dans l'objet... dans les accolades d'u if si elle sont crées dans ...etc
AINSI ON NE PEUT PAS OBTENIR DE L'EXTERIEUR QUELQUE CHOSE QUI EST A L'INTERIEUR D'UNE VARAIBLE, FUNCTION, OBJECT etc...
D'où l'utilisation de return qui permet de renvoyer une valeur, dans l'exemple c'est obj.maValeur (même si obj.maValeur revient au même mais c'est pour un exemple simple du principe).
Bref sans aller plus loin c'est une question d'organisation et de réfléchir au fonctionnement du programme avant d'écrire. De lister les valeurs à utiliser ,
par principe toutes les variables sont mises au début pour les voir d'un coup ce qui simplifie la vie quand on veut/doit utiliser chaque brique ensemble.
Aussi autant se passer de JQuery et le sélecteur du lien pour l'événement gagnerait à être une id plutôt qu'une classe. Une ID est unique, une classe peut être multiple. Cela permet d'éviter des erreurs et d'affirmer un principe(il n'y a qu'un bouton pour le même événement) ce qui le rend plus clair et lisible(donc avec une classe réutilisable pour faire plusieurs boutons).
Essayer de faire l'objet directement dans l'écriture littérale puis de l'utiliser.
Par exemple:
var Panier ={ listeContenu=[], ajouterUnContenu:function(monContenu){ this.listeConteu.push(monContenu) }, afficherListeContenu=function(){ console.log(this.listeContenu.toString())//-- utiliser la console c'est la base }, obtenirContenu(index){ return this.listeContenu[idx] } } var panierTest=Panier() panierTest.ajouterUnContenu('fraise') alert(panierTest.obtenirContenu())
Un dernier détail important. Un tableau n'est pas le mieux pour stocker plusieurs valeurs, en tout cas si on veut les utiliser facilement car imbriquer des tableaux peut devenir un peu complexe pour pas grand chose.
On peut par exemple utiliser un objet.
var Contenu=function(nom, nombre, prix){ //-- UNE fonction est utilisée pour créer ET RENVOYER l'objet grâce à return var temporaire = { nom:nom, quantite:nombre, tarif:prix } return temporaire }
Et donc:
var Panier ={ listeContenu=[], ajouterArticle:function(nom, prix, qte){ this.listeContenu.push( Contenu(nom, qte, prix) ) }, obtenirArticle:function(index){ return this.listeContenu[index] }, obtenirPrixUnitaire(index){ return this.obtenirObjetContenu(index).tarif }, obtenirPrixTotal(index){ return this.obtenirPrixUnitaire(index)*this.listeContenu[index].quantite } } var panierClient=Panier() panierClient.ajouterArticle('fraise 500gr', 10, 3) console.log( 'Il y a'+ panierClient.listeContenu[0].quantite+ ' de l'article '+ +panierClient.listeContenu[0].nom+ ' pour un total de '+ panierClient.obtenirPrixTotal(0)+ '€ ')
bonjour
waouhhh un vrai cours
un immense merci pour toutes ces explications , ces détails
Je vais devoir relire out cela a tête bien reposée
Mais c'est vrai que tout cela est une question de logique
A partir du moment que l'on connait le langage et que l 'on soit passionné
Ce code est un code que j'ai trouvé et que j'essaye de modifier pour le mettre un peu a ma sauce
En ce qui concerne ce select l'auteur du code l'a modifie et adapter pour finir entre temps
Mais je vais m'inspirer de tes corrections pour essayer de corriger le code que j'ai trouvé dés que j'aurais corriger plusieurs petits dysfonctionnement au niveau de mon site
Car je ne suis ni programmeur , ni un acharné
Je préfère la pêche comme passion
encore un immense merci pour cette aide
waouhhh un vrai cours
un immense merci pour toutes ces explications , ces détails
Je vais devoir relire out cela a tête bien reposée
Mais c'est vrai que tout cela est une question de logique
A partir du moment que l'on connait le langage et que l 'on soit passionné
Ce code est un code que j'ai trouvé et que j'essaye de modifier pour le mettre un peu a ma sauce
En ce qui concerne ce select l'auteur du code l'a modifie et adapter pour finir entre temps
Mais je vais m'inspirer de tes corrections pour essayer de corriger le code que j'ai trouvé dés que j'aurais corriger plusieurs petits dysfonctionnement au niveau de mon site
Car je ne suis ni programmeur , ni un acharné
Je préfère la pêche comme passion
encore un immense merci pour cette aide
Si vous faites un programme vous êtes un programmeur.
Si vous jouez de la guitare vous êtes guitariste.
Si vous pêchez vous êtes pêcheur.
Rien n'empêche d'avoir plusieurs passions sauf peut-être dans la vie de couple mais c'est autre chose.
Mais effectivement il faut du travail/de la pratique pour apprendre à jouer de la guitare, pêcher ou faire des programmes. Je n'ai pêché qu'une fois et j'ai attrapé qu'un coup de soleil.
La réponse importante c'est que vous devez avant de penser à une quelconque programmation réfléchir en amont et comprendre ce que vous voulez faire aussi bien que comment le faire.
Si je mets une canne à pêche dans l'eau sans hameçon ou un hameçon sans appât j'aurais peu de chance d'attraper un poisson.
Pour un programme si vous ne détaillez pas les étapes unes à unes(surtout au début après ça devient plus facile avec la pratique, la pêche aussi je suppose et la guitare aussi) et ne connaissez pas bien les outils et la logique derrière vous n'arriverez à rien...
Et tout le monde peut apprendre, condition essentielle pour arriver à réussir quelque chose.
Si vous jouez de la guitare vous êtes guitariste.
Si vous pêchez vous êtes pêcheur.
Rien n'empêche d'avoir plusieurs passions sauf peut-être dans la vie de couple mais c'est autre chose.
Mais effectivement il faut du travail/de la pratique pour apprendre à jouer de la guitare, pêcher ou faire des programmes. Je n'ai pêché qu'une fois et j'ai attrapé qu'un coup de soleil.
La réponse importante c'est que vous devez avant de penser à une quelconque programmation réfléchir en amont et comprendre ce que vous voulez faire aussi bien que comment le faire.
Si je mets une canne à pêche dans l'eau sans hameçon ou un hameçon sans appât j'aurais peu de chance d'attraper un poisson.
Pour un programme si vous ne détaillez pas les étapes unes à unes(surtout au début après ça devient plus facile avec la pratique, la pêche aussi je suppose et la guitare aussi) et ne connaissez pas bien les outils et la logique derrière vous n'arriverez à rien...
Et tout le monde peut apprendre, condition essentielle pour arriver à réussir quelque chose.
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
15 févr. 2022 à 11:46
15 févr. 2022 à 11:46
Bonjour
désolé du retard de ma réponse
Mais j'étais plonge au plus profond de on code qui pour la plupart d'entre vous ne serais qu'un apéro
J'essaye de le comprendre et de le modifier pour le faire ressembler a ce que je désire
Mais comme tu dis tout est une question d apprentissage et de s'en donner les moyens
Mais souvent avec l'âge ce que l'on apprends ce jour sera oublie dans 2 semaines
Sauf si on le refais chaque jour et encore ...
Mais si on veux comparer la pêche et la programmation
Lorsque je vais pêcher je sais par ou je dois commencer et comment je vais commencer suivant une suite logique
Je peux très bien prendre du poisson te refiler ma canne et tu ne prendras rien ....
C'est normal puisque je connais le cours d'eau , je connais mon matériel , et je connais ma routine
En programmation c'est la même chose , lorsque on connaît les codes , les routines , les astuces et surtout le langage tout va tout seul
Par contre laisse moi dans un programme et demande moi de modifier un truc
il va me falloir des heures pour y arriver
Alors que pour certaines personnes cela se calcule en secondes
Comme tu dis et je dis il faut s'en donner les moyens et tout dépend du but
si tu viens pêcher avec moi 1 semaine je ne vais pas commencer a te montrer tout de A a Z
je vais te placer a un endroit ou tu prendras du poisson avec ne canne et une bonne ligne
puisque de toute façon tu ne reviendras plus
ben moi en programmation c'est pareil
Ce n'est pas pour réaliser 22 sites ....juste un seul
désolé du retard de ma réponse
Mais j'étais plonge au plus profond de on code qui pour la plupart d'entre vous ne serais qu'un apéro
J'essaye de le comprendre et de le modifier pour le faire ressembler a ce que je désire
Mais comme tu dis tout est une question d apprentissage et de s'en donner les moyens
Mais souvent avec l'âge ce que l'on apprends ce jour sera oublie dans 2 semaines
Sauf si on le refais chaque jour et encore ...
Mais si on veux comparer la pêche et la programmation
Lorsque je vais pêcher je sais par ou je dois commencer et comment je vais commencer suivant une suite logique
Je peux très bien prendre du poisson te refiler ma canne et tu ne prendras rien ....
C'est normal puisque je connais le cours d'eau , je connais mon matériel , et je connais ma routine
En programmation c'est la même chose , lorsque on connaît les codes , les routines , les astuces et surtout le langage tout va tout seul
Par contre laisse moi dans un programme et demande moi de modifier un truc
il va me falloir des heures pour y arriver
Alors que pour certaines personnes cela se calcule en secondes
Comme tu dis et je dis il faut s'en donner les moyens et tout dépend du but
si tu viens pêcher avec moi 1 semaine je ne vais pas commencer a te montrer tout de A a Z
je vais te placer a un endroit ou tu prendras du poisson avec ne canne et une bonne ligne
puisque de toute façon tu ne reviendras plus
ben moi en programmation c'est pareil
Ce n'est pas pour réaliser 22 sites ....juste un seul
Modifié le 9 févr. 2022 à 09:38
2 erreurs d'avoir écrit vite que la console vous aura indiqué si vous tester le code.
il y a un '+' en trop à la ligne 23(celui du début de la ligne) du dernier exemple de script.
il manque '=function' pour les méthodes de l'objet Panier ligne 10
et ligne 13
J'ai tapé un peu vite et n'ai pas testé le script.