Option ajouter de la valeur à un produit, puis au panier avec Magento
J'ai cherché autour pendant un certain temps et ne venait l'esprit de solutions qui a ajouté une toute nouvelle option ensembles de produits dans une boutique Magento.
Ce que je suis en train de l'accomplir, c'est un moyen pour ajouter un Produit au panier. Ce Produit Simple a certains predifinis options personnalisées (champs de texte libre) qui doit être rempli par une fonction php.
Alors, comment puis-je faire cela? Disons que j'ai un produit avec le code "111" et une option personnalisée.
$qty = '1';
$product = Mage::getModel('catalog/product')->load("111");
//set option value in product model?
$cart = Mage::helper('checkout/cart')->getCart();
$cart->addProduct($product, $qty);
//set option value while passing product to car?
$cart->save();
Merci d'avance pour toute hinds.
BTW: option de réglage des valeurs par QueryString est en facile comme on le voit ici.
Vous devez vous connecter pour publier un commentaire.
Vous ne définissez pas l'option personnalisée sur le modèle de produit, vous passer à travers le deuxième argument de
$cart->addProduct($product, $params)
.La place, nous avons un projet, qui nécessite une app externe à ajouter à la Magento panier, est d'utiliser un
$params
tableau de la forme suivante:La
$params['options']
contient l'option de personnalisation de l'information. Les touches sont l'option personnalisée identifiants, vous pouvez les voir si vous examinez les options de personnalisation de la section de l'écran du produit avec Firebug, ou similaire.La
$params['product']
peut être redondant, j'ai écrit ce script il y a un moment pour une version antérieure de Magento.Aussi, je suis assez sûr que la norme ajouter au panier événements feu lorsque vous ajoutez cette façon, de sorte que vous aurez besoin de les mettre hors de vous-même. Il peut y avoir des effets secondaires.
Dans Magento 1.7 vous avez de l'envelopper le tableau params dans un Varien Objet.
Vous devez écrire le paramètre d'entrée pour
addproduct
que le format suivant, il est testé par moi-même:Le problème avec la réponse actuelle est que magento ne sera pas ajouter un deuxième élément de ligne si la référence est la même, mais les options sont distincte de la première. Si vous voulez un 3 pomme" et 4" d'apple que vous aimeriez avoir sur une ligne séparée. Ou au moins je fais.
HTTP appel à l'URL suivante
suivie par
va ajouter deux éléments.
Mais toujours ce n'est que la moitié de la bataille, que faire de ces codes d'option défendre?? Bien que le code PHP suivant va vous le dire. Et puisque nous sommes en utilisant un HTTP appeler le code sera de retour javascript prêt JSON.