我的公司正在爲Magento製作一個模塊以適應巴西業務規則的需求。Magento模型重寫的最佳實踐是什麼?
有時我們需要重寫核心模型以添加funcionality,有時需要重寫核心模型以更改某些功能。我們懷疑這是做這種改變的最佳做法。例如,當一個模塊需要修改其他模型所擁有的某些行爲時。
我們知道修改後的文件需要在「local/mycompany/modules ...」下創建,但我們遇到了一個我將在下面描述的問題。
一個簡單的例子是:我們的客戶模型需要添加帶有'99999-999'掩碼的郵政編碼,在最後三個字符之前加上' - '。沒關係,它已經完成並且工作。但是當我們需要使用這個郵政編碼進行計算時,我們需要刪除' - '字符。這是在我們rewrited 「航運/費率/ Request.php」模型。
這是我們懷疑的一點。哪個最好?
做內新「送貨」模塊這個改寫「本地/ myCompany中/運輸/型號/價格/ Request.php」或做「客戶」模塊的目錄結構這裏面重寫?
我們對我們需要決定的結構感到困惑。
重要的是,我們不會分發或銷售作爲分離模塊重新編寫的模塊。
我會在這裏把一些代碼:
的郵政編碼爲我們的「客戶」模塊接收,在輸入掩碼,通過使用Javascript完成。 此「客戶」模塊爲客戶數據庫添加更多字段。
在這裏,我重寫「運輸/價格/ Request.php」, 「客戶」 模塊內:
中的 「客戶」 config.xml中模塊:
<shipping>
<rewrite>
<rate_request>Mycompany_Customer_Model_Shipping_Rate_Request</rate_request>
</rewrite>
</shipping>
然後文件「Mycompany/Customer/Model/Shipping/Rate/Request.php」包含從郵編中刪除' - '字符的代碼。
我們的疑問是:在某些情況下,我們需要重新修改「Shipping/Rate/Request.php」來修改其他方法。哪個最好?
- 每個重寫都是在模塊內部完成的?創建同一類的重複文件。
- 在「Mycompany」命名空間中使用與Magento核心相同的目錄結構,並在每個類的一個文件中修改我們需要的所有內容?像Magento的核心?
我不知道我是否可以解釋我需要什麼。
謝謝!
請添加一些代碼示例和分裂你的文本,以使其更具可讀性。這樣你會得到更多的答案。 – jokklan