magento — 在magento中如何回复客户的评论
agento本身是不带 回复评论的功能的,现成的扩展(无论免费的还是商业的)也没找到,那就自己写一个吧,花了一下午写完,自我感觉不错,拿出来晾晾
1.4和1.6的版本是不一样的,1.5的貌似也是不一样的。。。在网上找了好多资 料都没有解决,最后还是同事想起来怎么搞了!
下面这个是1.4版本正常:csdn上的
http://blog.csdn.net/alex748/article/details/4419814
magento本身是不带 回复评论的功能的,现成的扩展(无论免费的还是商业的)也没找到,那就自己写一个吧,花了一下午写完,自我感觉不错,拿出来晾晾
1. 数据库中review_detail表新增字段 reply
2. 修改Form.php文件,添加回复文本框, app/code/core/Mage/Adminhtml/Block/Review/Edit/Form.php 135行
$fieldset->addField(‘reply’, ‘textarea’, array(
‘label’ => Mage::helper(‘review’)->__(‘Reply’), ‘required’ => false, ‘name’ => ‘reply’, ‘style’ => ‘height:24em;’, )); |
3. 修改Review.php文件,添加表单获取字段, app/code/core/Mage/Review/Model/Mysql4/ Review.php 95行
/**
* save detale
* //Alex add reply 2009-08-06
*/
if(!is_null($object->getReply())){
$reply=$object->getReply();
}else{
$reply=”;
}
$detail = array(
‘title’ => $object->getTitle(),
‘detail’ => $object->getDetail(),
‘nickname’ => $object->getNickname(),
‘reply’ => $object->getReply(),
);
4.修改list.phtml文件,增加回复输出,app/design/frontend/default/eshopstandard/template/review/product/view/list.phtml 56行
<p><?php echo nl2br($this->htmlEscape($_review->getDetail())) ?> <?php echo $this->__(‘(Posted on %s)’, $this->formatDate($_review->getCreatedAt()), ‘long’) ?></p>
<?php //Alex add reply 2009-08-06 ?>
<p style=”color: rgb(204, 0, 51);”><?php echo $this->__(‘Reply:’) ?><?php echo nl2br($this->htmlEscape($_review->getReply())) ?></p>
下面来说:1.6的版 本,和1.5版本出现的问题:
1.5和1.6的问题:需要添加这个:
还得修改你的app\design\frontend\base\default\template\reviewform.phtml 为其添加一个书写回复的文本 可以隐藏 因为你是后台给添加的…. (不然你的产品评论会报错的…..)
<input type=”text” name=”reply” id=”summary_field” value=”<?php echo $this->htmlEscape($data->getTitle()) ?>” />
1.6需要改:
的是:/app/code/core/Mage/Review/Model/Resource/Review.php这个文件,,,文件路径不一样,。改法都一样,,稍微有了些变化
/app/code/core/Mage/Review/Model/Resource/Review/Collection.php
查询的时候:添加下reply字段,要不然,前台是不显示的。。。。
http://www.magentomax.com/magento-review-reply/