cancel
Showing results for 
Search instead for 
Did you mean: 

Magento custom add-to-cart Module Not Working

Magento custom add-to-cart Module Not Working

Created module like No other products adds to cart if restricted product available in cart and vice versa.

Module :

app/etc/modules/Brst_Test.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Brst_Test>
            <active>true</active>
            <codePool>community</codePool>
        </Brst_Test>
    </modules>
</config>

 

app/code/community/Brst/Test/Model/Observer.php

 

<?php
ini_set('display_errors', '1');

// 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==31588){
                Mage::throwException("Cart has Special Product you can not add another");
            }
        }

    }
}
?>

 

app/code/community/Brst/Test/etc/config.xml

 

 
<?xml version="1.0"?>
<config>
    <modules>
        <Brst_Test>
           <version>0.1.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>

 

Not working, how to solve the error?