2014-05-09 93 views
3

我們在獲得Magento商店以應用目錄價格規則時遇到了一些問題。這是一個相當大的商店(2家門店,3萬家商品),我們正試圖對商店中的大部分產品實行全球折扣。Magento - 無法應用目錄價格規則

我們可以設置價格規則,但是當我們應用它時,它會旋轉長達一個小時左右然後掛起,而不應用任何價格。

有人猜測這是因爲它試圖將這麼多記錄寫入數據庫,它最終會超時,但它似乎並不關係我們在服務器和PHP級別設置的時間限制,它永遠不會完成。

我不知道是否有辦法以不同的方式提高效率?

+0

我有Magento的1.7.0.2同樣的問題 - 其結果是空白窗口。 Error.log說 - PHP致命錯誤:允許2902458368字節的內存大小用盡(試圖分配262144字節)。真的有可能3克的RAM是不夠的? (33000個產品,1個商店的視圖) –

回答

2

以下是保存目錄價格規則時申請大型目錄的方法。

我創建了一個腳本來應用目錄規則,使用命令行運行。還可以創建cron作業以在夜間運行此腳本。

只需創建你的Magento的根一個PHP文件,在這個文件中

try { 
     Mage::getModel('catalogrule/rule')->applyAll(); 
     Mage::app()->removeCache('catalog_rules_dirty'); 
     echo Mage::helper('catalogrule')->__('The rules have been applied.'); 
    } catch (Exception $e) { 
     echo Mage::helper('catalogrule')->__('Unable to apply rules.'); 
     print_r($e); 
    } 

放在下面的代碼並通過命令行或運行此腳本創建cron作業。這將適用於您的所有目錄規則,

+0

謝謝,我會試一試,然後回覆給你 - 作爲給任何其他讀者的說明,你需要調用require「app/Mage.php」;拉入法師課堂。 –

+0

這樣做嗎? –

0

我找到了解決方案,確保數據庫用戶有權將表創建爲magento數據庫。

應用價格規則似乎創建了一些我的數據庫用戶不允許執行的臨時表。

設置位於app/etc/local.xml

希望這樣可以節省某人的一天:)

-MPu

相關問題