Quiero agregar una opción personalizada al artículo de cotización usando el observador que observa el evento checkoutCartProductAddAfter y se activa después de que el producto se haya agregado al carrito.
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;
}
Mi observador funciona, pero no puedo agregar una opción personalizada al producto agregado. proporcione ayuda para agregar una opción personalizada utilizando el observador al producto que acaba de agregar.
product
cart
event-observer
magento-1
custom-options
Keyur Patel
fuente
fuente
Respuestas:
@Tim dio una charla sobre este tema el fin de semana: https://docs.google.com/presentation/d/1efPznQSVTrT1HAD1xQvCPC-Tgvr8jYok4X7ZEJhm9jE/edit
Lo que desea es el Método 2: Agregar el siguiente evento en Config.xml
En Observer.php agregue el siguiente método
Aquí hay más sobre este tema:
/programming/9334115/magento-change-custom-option-value-before-adding-it-to-cart/9344336#9344336
y más:
/programming/9412074/magento-quote-order-product-item-attribute-based-on-user-input/9496266#9496266
fuente
El evento apropiado para agregar opciones personalizadas sobre la marcha es
catalog_product_type_prepare_full_options
, que se activa justo antes de que el producto con sus opciones personalizadas se convierta en un artículo de presupuesto.Fuente: El objeto Magento buyRequest - Una referencia
Entonces un observador podría verse así:
No puede establecer un precio para esta opción personalizada añadida dinámicamente, pero puede cambiar el precio del artículo de presupuesto utilizando un segundo observador para
catalog_product_get_final_price
esto:fuente