我期待創建一個自定義模塊,其中添加了一個輸入字段來收集「評論」表單中的「電子郵件ID」,但僅限於來賓客戶。Magento - 在評論表單中添加一個自定義字段
我知道這可能需要重寫一些核心模塊,如'/code/core/Mage/Review/Model/Mysql4/Review/Product/Collection.php'和'/ code/core/Mage/Review/Model /Mysql4/Review.php'並編輯塊文件和.phtml文件以包含'email'文本字段。
此外,新字段也需要添加到數據庫表中。這個領域應該強制在那裏爲客戶。發佈評論時,註冊客戶不需要輸入他們的電子郵件ID。
所以我不知道如何去做以下事情: 1)哪些核心文件需要重寫? 2)我應該如何在現有的數據庫表中添加這個新的字段進行「審查」,以便將來的升級不會過度寫入它? 3)我應該如何確保這個字段是由來賓客戶強制填寫的? (它確定如果註冊用戶不填寫它)
請大家讚賞任何幫助。謝謝。
這是我迄今所做
CM
Review
Block
Review
Edit
Form.php
etc
config.xml
Helper
Data.php
Model
Resource
Review.php
Review
Product
Collection.php
這是我的config.xml
<?xml version="1.0"?>
<config>
<modules>
<CM_Review>
<version>0.0.1</version>
</CM_Review>
</modules>
<frontend>
<routers>
<review>
<use>standard</use>
<args>
<module>CM_Review</module>
<frontName>Review</frontName>
</args>
</review>
</routers>
</frontend>
<global>
<blocks>
<adminhtml>
<rewrite>
<review_edit_form>CM_Review_Block_Review_Edit_Form</review_edit_form>
</rewrite>
</adminhtml>
</blocks>
<helpers>
<review>
<rewrite>
<class>CM_Review_Helper</class>
</rewrite>
</review>
</helpers>
<models>
<review>
<rewrite>
<resource_review>CM_Review_Model_Resource_Review</resource_review>
<resource_review_product_collection>
CM_Review_Model_Resource_Review_Product_Collection
</resource_review_product_collection>
</rewrite>
</review>
</models>
</global>
的內容,並且每個核心文件,我已經重寫,從原來的Review Model文件和Adminhtml/Block/Review編輯文件擴展它們。我有複製粘貼d與我的代碼中額外的'email'字段相同的代碼。
我已經在數據庫中手動添加了字段,並在base/defaut/review/form.phtml中添加了輸入字段,但它仍然不會保存表中的數據。
但是,如果我試圖通過編輯核心文件來添加此字段,那麼它會保存來賓客戶的電子郵件ID並且工作得很好。
無法弄清楚我做錯了什麼?
有沒有人對此有過任何建議?我對如何去做這件事有一個模糊的想法,但我不完全確定。如果只有一個人可以提供一個關於如何去做這件事的路線圖? – ivn 2012-01-19 09:41:02