你想做什麼可能是可能的,但我不確定你所描述的方法是否可行,我認爲這對於處理非常複雜的Magento平臺來說太簡單了。
我有一個類似的項目,其中產品的實際價格基於少量投入不斷變化,我能夠很好地解決問題,但它肯定比較複雜,感謝您似乎期待的。我不確定這種情況對你有沒有幫助,但是這裏有...
基本思想是我創建了新的產品屬性(eav屬性)。這些作爲確定價格真正應該是什麼的投入。請注意,就我而言,這些屬性正在由外部進程定期更新。
然後,我創建了一個觀察者對「catalog_product_save_before」事件,只會做這樣的事情:
//some calculations to get the $newPrice
$product->setPrice($newPrice);
所以基本上,這將讓這個價格區域將永遠是目前的每次保存產品在管理屏幕中。
此外,由於用作輸入的幾個屬性不斷變化(由外部進程更新),所以我們還必須添加一個magento cron作業,以便每隔一段時間運行一次,並重新計算價格對於所有受影響的產品有這樣的東西...
//some calculations to get the $newPrice
$product->addAttributeUpdate("price", $newPrice, Mage::app()->getStore()->getStoreId());
所以這一切歸結爲事實,你應該有該屬性保存在分貝。當然,您需要找到更新派生屬性的具體位置。也許您的要求與我所描述的要求略有不同,但至少可以讓您走上正確的道路。
非常感謝您的建議。我試圖消除使用觀察員和cron作業來更新字段的需要。如果計算屬性的想法是不可能的,那麼你的建議會很好的解決。讓我們看看是否有人知道是否以及如何實現計算屬性。 – mas 2012-02-10 19:54:57
真正的挑戰是讓分層導航和可排序列表在db中沒有字段的情況下工作。這可能是可以做到的,但我認爲這將是一個舒適的解決方案。祝你好運。 – shaune 2012-02-10 20:10:30
是的,你是對的 - 分層導航和列表排序似乎需要數據庫字段由於分頁。 – mas 2012-02-10 22:12:29