我期待创建一个自定义字段'Email Id'& “评论”表单中的一个下拉列表。
我尝试了这个,但没有保存数据,只有字段
应用\代码\核心\法师\评分\模型\ Mysql4 \ Review.php
protected function _afterSave(Mage_Core_Model_Abstract $object)
{
$detail = array(
'title' => $object->getTitle(),
'detail' => $object->getDetail(),
'nickname' => $object->getNickname(),
'email' => $object->getEmail(), // New field 1
'fname' => $object->getFname(), // New field 2
);
现在添加电子邮件,fname在数据库的review_detail表中也转到app \ code \ core \ Mage \ Adminhtml \ Block \ Review \ Edit \ Form.php也添加:
$fieldset->addField('fname', 'text', array( // New field 2
'label' => Mage::helper('review')->__('First Name'),
'required' => true,
'name' => 'fname'
));
$fieldset->addField('email', 'text', array( // New field 1
'label' => Mage::helper('review')->__('Email'),
'required' => true,
'name' => 'email'
));
之前
$fieldset->addField('nickname', 'text', array(
'label' => Mage::helper('review')->__('Nickname'),
'required' => true,
'name' => 'nickname'
));
答案 0 :(得分:6)
修改Mage核心类有点吓人,将来很难升级magento核心类。您可以通过自己的自定义模块覆盖特定的类(如果要设置模块,请参阅模块创建者)
模块的config.xml,添加模型重写如下:
<global>
<models>
<review_mysql4>
<rewrite>
<review>[[Your Company]]_[[Your Module]]_Model_Review</review>
</rewrite>
</review_mysql4>
</models>
...
</global>
指定的类将从您要覆盖的Magento核心类扩展:
class [[Your Company]]_[[Your Module]]_Model_Review
extends Mage_Review_Model_Mysql4_Review
{
protected function _afterSave(Mage_Core_Model_Abstract $object)
{
....
}
}
聚苯乙烯。在magento review_detail表中添加新字段:
$installer = $this;
$installer->startSetup();
$installer->run("ALTER TABLE review_detail ADD COLUMN email VARCHAR(255) NULL");
$installer->endSetup();
答案 1 :(得分:2)
最后我解决了...... 打开 应用\代码\核心\法师\评分\模型\资源\ Review.php 强>
您将在150左右找到此代码
protected function _afterSave(Mage_Core_Model_Abstract $object)
{
$detail = array(
'title' => $object->getTitle(),
'detail' => $object->getDetail(),
'nickname' => $object->getNickname(),
);
添加要添加的新两个字段。
protected function _afterSave(Mage_Core_Model_Abstract $object)
{
$detail = array(
'title' => $object->getTitle(),
'detail' => $object->getDetail(),
'nickname' => $object->getNickname(),
'email' => $object->getEmail(), // New field 1
'fname' => $object->getFname(), // New field 2
);
不多了...... :)快乐的编码