Je veux ajouter une option personnalisée à quoteitem en utilisant observer quel observateur checkoutCartProductAddAfter événement et se déclenche après que le produit a été ajouté au panier.
public function checkoutCartProductAddAfter(Varien_Event_Observer $observer)
{
$item = $observer->getQuoteItem();
$item->addOption(new Varien_Object(
array(
'product' => $item->getProduct(),
'label' => 'Free Gifts',
'value' => 'Spend $50 and get gift product worth $9.99'
)
));
return;
}
Mon observateur travaille mais je ne suis pas en mesure d'ajouter une option personnalisée au produit ajouté. veuillez fournir de l'aide pour ajouter une option personnalisée à l'aide d'un observateur au produit que vous venez d'ajouter.
product
cart
event-observer
magento-1
custom-options
Keyur Patel
la source
la source
Réponses:
@Tim a donné une conférence sur ce problème le week-end: https://docs.google.com/presentation/d/1efPznQSVTrT1HAD1xQvCPC-Tgvr8jYok4X7ZEJhm9jE/edit
Ce que vous voulez, c'est la méthode 2: ajouter l'événement suivant dans Config.xml
Dans Observer.php, ajoutez la méthode suivante
En savoir plus sur ce sujet:
/programming/9334115/magento-change-custom-option-value-before-adding-it-to-cart/9344336#9344336
et plus:
/programming/9412074/magento-quote-order-product-item-attribute-based-on-user-input/9496266#9496266
la source
L'événement approprié pour ajouter des options personnalisées à la volée est
catalog_product_type_prepare_full_options
déclenché juste avant que le produit avec ses options personnalisées ne soit converti en élément de devis.Source: L'objet buyRequest de Magento - Une référence
Un observateur pourrait donc ressembler à ceci:
Vous ne pouvez pas définir un prix pour cette option personnalisée ajoutée dynamiquement, mais vous pouvez modifier le prix de l'élément de devis en utilisant un deuxième observateur pour
catalog_product_get_final_price
comme ceci:la source