0
我試圖擴展核心以改變magento如何設置產品的狀態。從本質上講,當管理員用戶試圖將產品狀態更改爲禁用時,我希望它檢查產品是否在EPOS系統中有貨,如果是,則拋出錯誤。魔法核心在哪裏是產品的狀態集?
爲此,我打算擴展設置產品狀態並重寫該功能的模型。問題是,我無法在任何地方找到它。 magento_core_model_product中沒有任何內容。我在mage_catalog_model_product_status中找到了一個名爲updateProductStatus的函數,但這看起來並不正確。
有誰知道我需要尋找這個功能嗎?
另一種方法是[觀察事件]('http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method)'catalog_product_save_before'。如果狀態值沒有改變,但是EPOS狀態已經爲您提供了更正差異的額外機會。 – clockworkgeek 2011-05-18 14:10:05
這是一個更簡單的解決方案。我希望我一天前想到這一點。感謝您的建議。根據經驗,在可能的情況下使用擴展核心對象的事件會更好嗎? – Geoff 2011-05-18 16:45:08
是的事件是可取的。幾個不同的聽衆可以一次觀察一個事件(或許與不相關的開發者分開的模塊),而不會相互干擾。但是隻有一個可以一次擴展一個核心對象,其他任何模塊都必須覆蓋這個不必要的複雜的覆蓋。 – clockworkgeek 2011-05-18 17:35:25