Skip to content

Instantly share code, notes, and snippets.

@amacgregor
Created October 13, 2011 16:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amacgregor/1284726 to your computer and use it in GitHub Desktop.
Save amacgregor/1284726 to your computer and use it in GitHub Desktop.
checkout_cart_update_items_before
<events>
<catalog_product_get_final_price>
<observers>
<magestore_productoffer_observer>
<type>singleton</type>
<class>productoffer/observer</class>
<method>catalog_product_get_final_price</method>
</magestore_productoffer_observer>
</observers>
</catalog_product_get_final_price>
<checkout_cart_update_items_before>
<observers>
<magestore_productoffer_observer>
<type>singleton</type>
<class>productoffer/observer</class>
<method>checkout_cart_update_items_before</method>
</magestore_productoffer_observer>
</observers>
</checkout_cart_update_items_before>
<catalog_controller_product_init_before>
<observers>
<magestore_productoffer_observer>
<type>singleton</type>
<class>productoffer/observer</class>
<method>productinitbefore</method>
</magestore_productoffer_observer>
</observers>
</catalog_controller_product_init_before>
<checkout_type_onepage_save_order_after>
<observers>
<magestore_productoffer_observer>
<type>singleton</type>
<class>productoffer/observer</class>
<method>checkout_type_onepage_save_order_after</method>
</magestore_productoffer_observer>
</observers>
</checkout_type_onepage_save_order_after>
</events>
<?php
public function checkout_cart_update_items_before($observer)
{
$event = $observer->getEvent();
$products = $event->getInfo();
$customer = Mage::getSingleton('customer/session');
$items = $observer->getCart()->getQuote();
foreach($products as $key => $value){
$product = $items->getItemById($key);
if($customer->getId()){
$product_id = $product->getProductId();
$customer_id = $customer->getId();
$collection = Mage::getModel('productoffer/productoffer')
->getCollection()
->addFieldToFilter('customer_id',$customer_id)
->addFieldToFilter('product_id',$product_id)
->addFieldToFilter('status',2)
->getFirstItem()
;
if($collection->getId()){
$products[$key]['qty'] = 1;
}
}
}
return $this;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment