नियंत्रक लिखने के बजाय (कृपया ओह कृपया ऐसा न करें), बल्कि, addProduct
सीमा के लिए खाते की विधि को फिर से लिखें:
class YourCompany_YourModule_Model_Cart extends Mage_Checkout_Model_Cart
{
public function addProduct($productInfo, $requestInfo=null){
if($this->getItemsCount()>1){
Mage::throwException(Mage::helper('checkout')->__('Cannot add item - cart quantity would exceed checkout the limit of %s per person.', 1));
}
parent::addProduct($productInfo, $requestInfo);
}
}
यदि आप फैंसी प्राप्त करना चाहते हैं, तो 1
उपरोक्त को Mage::getStoreConfig('checkout/options/max_cart_qty)
अपने मॉड्यूल के config.xml के साथ बदलें और सेट करें:
<default>
<checkout>
<options>
<max_cart_qty>1</max_cart_qty>
</options>
</checkout>
</default>
यह मान अब XML मूल्य के माध्यम से नियंत्रित किया जाता है। यदि आप वास्तव में, वास्तव में कल्पना करना चाहते हैं , तो इसे अपने नए मॉड्यूल के system.xml में जोड़ें:
<config>
<sections>
<checkout>
<groups>
<options>
<fields>
<max_cart_qty translate="label">
<label>Maximum Quantity Allowed in Cart (total qty)</label>
<frontend_type>text</frontend_type>
<sort_order>100</sort_order>
<show_in_default>1</show_in_default>
</max_cart_qty>
</fields>
</options>
</groups>
</checkout>
</sections>
</config>
याद रखें कि आपको <depends>Mage_Checkout</depends>
इसके 'पूर्वनिर्धारित सिस्टम कॉन्फ़िगरेशन' पर पिगबैक करने के लिए अपने मॉड्यूल को सेट करने की आवश्यकता है ।
checkout_cart_product_add_before
, उदाहरण के लिए markshustro/2012/।