magento的评论默认是单独的一个页面,也就是在产品详细页面,和产品分类页面都可以点击这个链接进入评论页面,但是有的时候,我们想吧评论功能放到产品详细页面底部,而不是放在单独的一个页面,这样我们需要在产品详细页面把评论产品的功能调出来,然后修改在分类页面和详细页面顶部的评论url

1

在产品详细页面把评论产品的功能调出来:

在<catalog_product_view>

标签下面,找到代码:

 <reference name="content">            <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">

把下面这个block当做子block加入到上面的block。

 <block type="review/product_view_list" name="product.info.product_additional_data" as="product_review" template="review/product/view/list.phtml"> <block type="review/form" name="product.review.form" as="review_form"/> </block> 

然后在template/catalog/product/view.phtml

里面通过

<?php echo $this->getChildHtml("product_review");  ?>

把评论信息调用出来

2

修改产品list页面和产品详细页面顶部的URL

找到 \app\code\core\Mage\Review\Block\Helper.php

  public function getReviewsUrl()    {   

    return Mage::getUrl('review/product/list', array(           'id'        => $this->getProduct()->getId(),           'category'  => $this->getProduct()->getCategoryId()        )); 

  }

改为:

 public function getReviewsUrl()    { return Mage::getModel('catalog/product')->load($this->getProduct()->getId())->getUrlPath();    

}

然后在

\app\design\frontend\maishen\mgfocal\template\review\helper\summary_short.phtml

改为:

  <div class="ratings">                 

  <div class="rating-box">       

        <div class="rating" style="width:<?php echo $this->getRatingSummary() ?>%">

</div>         

  </div>         

      <span class="amount">

<a href="<?php echo $this->getReviewsUrl() ?>#customer-reviews">

<?php echo $this->__('%d Review(s)', $this->getReviewsCount()) ?>

</a>

</span> 

  </div>

OK,搞定!

 

magento建站服务,magento模板magento插件