Magento - 在评论表单中添加一个自定义字段
问题描述:
我期待创建一个自定义模块,其中添加了一个输入字段来收集“评论”表单中的“电子邮件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