默认情况下,仅Magento 会在类别页面模板app/design/frontend/base/default/template/catalog/product/list.phtml
上显示现有的评分/评论,如下所示:
<?php if ($_product->getRatingSummary()): ?>
<?php echo $this->getReviewsSummaryHtml($_product, 'short'); ?>
<?php endif; ?>
我在自己的主题中采用了这个,并包含一个合理的后备,以免破坏页面的流/布局。 但是,如果有0条评论和已发布评论但未已批准,则不会显示任何内容(请参阅附图)。
<?php if ($_product->getRatingSummary()): ?>
<?php echo $this->getReviewsSummaryHtml($_product, 'short'); ?>
<?php else: ?>
<div class="ratings">
<div class="rating-box">
<div class="rating" style="width: 0%;"></div>
</div>
<span class="amount"><a href="<?php echo $_product->getProductUrl(); ?>#client-reviews">0 <?php echo $this->__('Review(s)'); ?></a></span>
</div>
<?php endif; ?>
谢谢!
答案 0 :(得分:0)
添加了一个额外的条件,虽然不是最漂亮的解决方案,却可以解决问题。
<?php if ($_product->getRatingSummary() && $_product->getRatingSummary()->getData('reviews_count') > 0): ?>
<?php echo $this->getReviewsSummaryHtml($_product, 'short'); ?>
<?php else: ?>
<div class="ratings">
<div class="rating-box">
<div class="rating" style="width: 0%"></div>
</div>
<span class="amount"><a href="<?php echo $_product->getProductUrl(); ?>#client-reviews">0 <?php echo $this->__('Review(s)'); ?></a></span>
</div>
<?php endif; ?>