Skip to content

Instantly share code, notes, and snippets.

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 aveevan/909d4481bc8fe663acc0799e90f2aca7 to your computer and use it in GitHub Desktop.
Save aveevan/909d4481bc8fe663acc0799e90f2aca7 to your computer and use it in GitHub Desktop.
How to do selected single product should be purchase alone?
<?xml version="1.0"?>
<config>
<modules>
<Brst_Test>
<version>1.0.0.0</version>
</Brst_Test>
</modules>
<global>
<models>
<brst_test>
<class>Brst_Test_Model</class>
</brst_test>
</models>
</global>
<frontend>
<events>
<controller_action_predispatch_checkout_cart_add>
<observers>
<Brst_Test_log_cart_add>
<class>Brst_Test/observer</class>
<method>logCartAdd</method>
</Brst_Test_log_cart_add>
</observers>
</controller_action_predispatch_checkout_cart_add>
</events>
</frontend>
</config>
<?php
Mage::log('Hy observer called', null, 'logfile.log');
class Brst_Test_Model_Observer
{
//Put any event as per your requirement
public function logCartAdd() {
$product = Mage::getModel('catalog/product')
->load(Mage::app()->getRequest()->getParam('product', 0));
$cart_qty = (int) Mage::getModel('checkout/cart')->getQuote()->getItemsQty();
if ($product->getId()==31588 && cart_qty > 0) {
Mage::throwException("You can not add This special Product, empty cart before add it");
}
// $quote = Mage::getSingleton('checkout/session')->getQuote();
// if ($quote->hasProductId(2)) {
// Mage::getSingleton("core/session")->addError("Cart has Special Product you can not add another");
// return;
// }
$quote = Mage::getModel('checkout/cart')->getQuote();
foreach ($quote->getAllItems() as $item) {
$productId = $item->getProductId();
if($productId==2){
Mage::throwException("Cart has Special Product you can not add another");
}
}
}
}
?>
<?xml version="1.0"?>
<config>
<modules>
<Brst_Test>
<active>true</active>
<codePool>community</codePool>
</Brst_Test>
</modules>
</config>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment