1

我正在尝试更改我的模板以反映 schema.org html 到目前为止我遇到的唯一问题是评论平均值应该是从 0 到 5 的数字。

有一个名为 getratingssummary 的函数,但它在 div 的样式属性中使用,我认为它不返回数字

到目前为止我有这个

<?php if ($this->getReviewsCount()): ?>
    <div class="ratings">
        <?php if ($this->getRatingSummary()):?>
          <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
            <div class="rating-box">
                <div class="rating" style="width:<?php echo $this->getRatingSummary() ?>%"><meta itemprop="ratingValue" content="5"/></div>
                <span itemprop="reviewCount"><?php echo $this->getReviewsCount() ?></span>
            </div>
          </span>
        <?php endif;?>
        <p class="rating-links">
            <a href="<?php echo $this->getReviewsUrl() ?>"><?php echo $this->__('%d Review(s)', $this->getReviewsCount()) ?></a>
            <!--<span class="separator">|</span>-->
            <!--<a href="<?php echo $this->getReviewsUrl() ?>#review-form"><?php echo $this->__('Add Your Review') ?></a>-->
        </p>
    </div>
4

3 回答 3

3

要获得数字星级而不是打开所需的评论助手的百分比,可以是;

app/design/frontend/default/YOURTHEME/template/review/helper/summary_short.phtml

或者

app/design/frontend/default/YOURTHEME/template/review/helper/summary.phtml


并使用此代码获取您的号码;

<?php
$ratingPercent = $this->getRatingSummary();
echo ($ratingPercent * 5)/100;
?>
于 2013-11-29T09:56:07.893 回答
1

getRatingSummary 函数确实返回一个数值,它恰好是一个百分比。如果你看一下在 rating div 的 style 属性中调用它的方式,你会看到(如果你用 X 替换函数调用)......它肯定会带回一个百分比。

<div class="rating" style="width:X%">

我会回显$this->getRatingSummary()函数调用,看看你得到了什么,然后你可以通过数学把它变成一个 0-5 的值。

于 2012-09-09T00:00:23.017 回答
1

你可以试试这个,但你必须让它显示一个数字而不是百分比:

<?php
$storeId = Mage::app()->getStore()->getId();
$summaryData = Mage::getModel('review/review_summary')->setStoreId($storeId)  ->load($_product->getId());
?>                      

// Rating Percentage showing of a product
 <div class="rating"><?php echo $summaryData['rating_summary']; ?>%</div>  
于 2012-09-29T11:30:37.210 回答