2010-08-18 11 views
2

J'ai une situation:CodeIgniter Panier ID + Options

J'ai des produits qui sont dans un magasin personnalisé CodeIgniter Cart. Chaque produit est associé à un ID, mais possède également des options (tailles). Ces tailles ont tous des prix différents. (Nous parlons de photos vendues à différentes tailles d'impression). Parce que CI Cart met à jour, ajoute et supprime en fonction de l'ID de produit inséré, je ne suis pas en mesure d'insérer un produit avec 2 tailles différentes. À partir de maintenant, la seule solution que je peux penser est de passer l'ID au panier comme IMAGEID_OPTIONID afin qu'il contienne les deux ID.

Cependant, je pensais qu'il pourrait y avoir une façon plus simple et plus uniforme de faire cela? Ou une meilleure solution qu'un ID qui n'est pas (à part) associé à quelque chose de spécifique à moins que je l'explose ..?

Répondre

4

J'ai récemment construit un site qui avait ces contraintes. En bref, vous voulez créer une distinction entre "produits" et "groupes de produits". Pensez-y comme gérant les unités de données les plus discrètes. En réalité, la chemise X taille moyenne est en fait une chose différente de la chemise X taille grande ... doublement donc si vous avez des prix qui sont construits sur ces qualités (cela devient plus réaliste quand vous considérez des modèles de tissu ou de couleurs). Donc, de toute façon, si vous avez une table "groups", une table "product_groups" et une table "products", vous pouvez garder toutes ces idées distinctes. Sur votre table de produits, vous pouvez avoir des colonnes pour "taille" et "couleur" (et toute autre propriété distinctive à laquelle vous pouvez penser) et une colonne pour "prix". Alternativement, vous pouvez aller encore plus hardcore et faire des tableaux de prix distincts qui correspondent aux prix des produits uniques (ce qui serait particulièrement utile si vous voulez garder une trace des prix et des remises historiques). Ensuite, dans votre panier, vous pouvez simplement attacher product_ids à cart_ids et effectuer quelques jointures pour déterminer à quel groupe appartient ce produit, quelles images sont dans ce groupe (ou existent pour ce produit), et ainsi sur. Ce n'est pas un problème simple, mais suivre cette ligne de pensée devrait vous aider à vous mettre sur la bonne voie. Un dernier point: le suivi de produits uniques comme celui-ci rend également la comptabilité des stocks beaucoup plus simple.

+0

J'aime l'idée. Je vais devoir voir si je peux le mettre en pratique. En attendant, c'est la meilleure réponse;) –