我嘗試添加額外的產品到購物車。我爲此創建了一個觀察者。將多餘的產品添加到購物車(觀察員)
<?php
class WP_Plugadapter_Model_Observer
{
public function hookToControllerActionPostDispatch($observer)
{
if($observer->getEvent()->getControllerAction()->getFullActionName() == 'checkout_cart_add')
{
Mage::dispatchEvent("add_to_cart_after", array('request' => $observer->getControllerAction()->getRequest()));
}
}
public function hookToAddToCartAfter($observer)
{
$request = $observer->getEvent()->getRequest()->getParams();
$_product = Mage::getModel('catalog/product')->load($request['product']);
$extra_functions = $_product->getExtra_functions();
if(!empty($extra_functions)){
$extra_functions = explode(',', $extra_functions);
if(array_search('121', $extra_functions)){
$cart = Mage::getSingleton('checkout/cart');
$cart->addProduct(10934, 1);
$cart->save();
if (!$cart->getQuote()->getHasError()){
Mage::log("Product ADD TO CART is added to cart.");
}else{
Mage::log("BOEM");
}
}
}
}
}
當我檢查我的系統日誌時,我看到以下日誌消息。 產品已加入購物車添加到購物車。
我不知道我做錯了什麼。當加載腳本獨立它工作正常。 例如:
<?php
include_once '../app/Mage.php';
Mage::app();
umask(0);
$session = Mage::getSingleton('core/session', array('name'=>'frontend'));
$cart = Mage::getSingleton('checkout/cart');
$cart->addProduct(10934, 1);
$cart->save();
是否有可能在一個觀察者,你把它做它用不同的方式?
日誌消息是不是表示一切都確實正常?當購物車沒有錯誤時記錄它。 – 2013-02-13 15:44:51
是的。但沒有任何反應:(。 – Lexperts 2013-02-13 15:50:51