我期待创建一个自定义模块,该模块添加一个输入字段,以便在评论表单中收集“电子邮件ID”,但仅限访客客户。
我知道这可能需要重写一些核心模块,如'/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 Edit文件中扩展而来的。我的代码只是在我的代码中使用额外的'email'字段粘贴了相同的代码
我现在手动在数据库中添加了字段,并在base / defaut / review / form.phtml中添加了输入字段,但仍然没有将数据保存在表中。
但是,如果我尝试通过编辑核心文件来添加此字段,那么它会保存访客客户的电子邮件ID,并且工作正常。
无法弄清楚我做错了什么?
答案 0 :(得分:0)