magento 购物车礼品赠品插件,允许用户添加免费礼物到购物车
礼品
一:配置我们的config.xml文件:
0.1.5
gifts.xml
gifts/observer
controlQty
gifts/observer
make_gift
gifts/observer
hookToControllerActionPostDispatch
More_Gifts_Model
gifts_mysql4
More_Gifts_Model_Mysql4
More_Gifts
More_Gifts_Entity_Setup
core_setup
core_write
core_read
More_Gifts_Block
More_Gifts_Helper
二:observer 监听方法:
class More_Gifts_Model_Observer
{
public function __construct()
{
}
public function giftincart()
{
$items = Mage::getSingleton('checkout/cart')->getQuote()->getAllItems();
foreach($items as $item){
if ($item->getOriginalCustomPrice()==0 && (Mage::getModel('catalog/product')->load($item['product_id'])->getGiftvalue()>0))
return(true);
}
return(false);
}
public function hookToControllerActionPostDispatch($observer)
{
if($observer->getEvent()->getControllerAction()->getFullActionName() == 'checkout_cart_delete' || $observer->getEvent()->getControllerAction()->getFullActionName() == 'checkout_cart_updatePost' ){
$items = Mage::getSingleton('checkout/cart')->getQuote()->getAllItems();
foreach($items as $item){
if ($item->getOriginalCustomPrice()==0 && Mage::getModel('catalog/product')->load($item['product_id'])->getGiftvalue()> Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal()){
Mage::getSingleton('checkout/cart')->removeItem($item->getId())->save();
}
}
}
}
public function controlQty($observer)
{
$items = Mage::getSingleton('checkout/cart')->getQuote()->getAllItems();
foreach($items as $item){
if ($item->getPrice()==0 && Mage::getModel('catalog/product')->load($item['product_id'])->getGiftvalue()>Mage::getSingleton('checkout/cart')->getQuote()->getGrandTotal()){
Mage::getSingleton('checkout/cart')->removeItem($item->getId())->save();
}
}
$event = $observer->getEvent();
$product = $event->getProduct();
$cart = $event->getCart();
$data = $event->getInfo();
foreach ($data as $itemId => $itemInfo) {
$item = $cart->getQuote()->getItemById($itemId);
if (!$item) {
continue;
}
if (Mage::getModel('catalog/product')->load($item['product_id'])->getGiftvalue()){
if ($item->getOriginalCustomPrice()!=null){
if ($item->getOriginalCustomPrice()==0.00){
$item->setQty(1);
$item->save();
}
}
}
}
}
public function make_gift($observer)
{
$items = Mage::getModel('checkout/cart')->getQuote()->getAllItems();
$event = $observer->getEvent();
$product = $event->getProduct();
$quote_item = $event->getQuoteItem();
foreach($items as $item){
if (Mage::getModel('catalog/product')->load($item['product_id'])->getGiftvalue() && ($item->getOriginalCustomPrice())){
if ($item->getOriginalCustomPrice()==0.00){
if ($item['sku']==$quote_item['sku']){
$item->setQty(1);
$item->save();
}
}
}
}
if (Mage::app()->getRequest()->getParam('g')){
if (Mage::getModel('catalog/product')->load($quote_item['product_id'])->getGiftvalue()){
if (Mage::getModel('catalog/product')->load($quote_item['product_id'])->getGiftvalue()<:getmodel>getQuote()->getGrandTotal()){
$quote_item->setOriginalCustomPrice(0.00);
$quote_item->calcRowTotal();
$quote_item->save();
}
}
}
return $this;
}
}
(责任编辑:最模板)