我需要限制添加到Magento進行比較的產品數量。只想要最多4個產品進行比較。Magento產品比較限制
我想在.phtml(其中項目顯示循環是),但不知道在哪裏我應該編輯顯示消息「比較列表已滿」。任何想法?
謝謝!
我需要限制添加到Magento進行比較的產品數量。只想要最多4個產品進行比較。Magento產品比較限制
我想在.phtml(其中項目顯示循環是),但不知道在哪裏我應該編輯顯示消息「比較列表已滿」。任何想法?
謝謝!
比較項目在Mage_Catalog_Product_CompareController加入,你可以看到,有事件派遣,你可以掛鉤您的觀察員,也可以通過擴展Mage_Catalog_Model_Product_Compare_List和壓倒一切的addProduct命令()或addProducts(添加自己的極限)方法,甚至使這收集類
我掛鉤了catalog_product_compare_add_product事件。
這裏是我的解決方案:
創建模塊。
目錄:
應用程序/代碼/本地/公司//這可以是任何名稱
應用程序/代碼/本地/公司/目錄
應用程序/代碼/本地/公司/目錄器/輔助
應用程序/代碼/本地/公司/目錄/等
模塊配置
創建一個文件:應用程序/代碼/本地/公司/目錄的/ etc/config.xml中
文件內容:
<?xml version="1.0"?>
<config>
<modules>
<Company_Catalog>
<version>0.1</version>
</Company_Catalog>
</modules>
<frontend>
<events>
<catalog_product_compare_add_product>
<observers>
<company_catalog>
<type>singleton</type>
<class>Company_Catalog_Helper_Observer</class>
<method>limitProductCompare</method>
</company_catalog>
</observers>
</catalog_product_compare_add_product>
</events>
</frontend>
</config>
助手
創建一個文件:應用程序/代碼/本地/Company/Catalog/Helper/Observer.php
文件內容:
<?php
class Company_Catalog_Helper_Observer extends Mage_Catalog_Helper_Data {
const COMPARE_LIMIT = 4;
function limitProductCompare($event) {
if (Mage::helper('catalog/product_compare')->getItemCount()<self::COMPARE_LIMIT) return;
$session = Mage::getSingleton('catalog/session');
Mage::getSingleton('catalog/product_compare_list')->removeProduct($event->getProduct());
$session->getMessages()->clear();
$session->addNotice($this->__('You have reached the limit of products to compare. Remove one and try again.'));
}
}
啓用模塊
創建文件:應用程序的/ etc /模塊/ Company_Catalog.xml
文件內容:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Company_Catalog>
<active>true</active>
<codePool>local</codePool>
</Company_Catalog>
</modules>
</config>
利潤!
現在一切都應該正常工作。添加後,第5個產品被刪除,並顯示好的通知。它不是完美的解決方案(因爲它在添加後刪除了產品),但它很好地完成了這項工作。
謝謝。我們的代碼在第一條線上運行。 – Dolly