1

schema.org htmlを反映するようにテンプレートを変更しようとしています。これまでに発生した唯一の問題は、レビューの平均であり、0から5までの数値である必要があります。

getratingssummaryという関数がありますが、divのstyle属性内で使用されているため、数値を返さないと思います。

これまでのところ私はこれを持っています

<?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

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 に答える
1

getRatingSummary 関数は数値を返しますが、たまたまパーセンテージです。評価 div のスタイル属性で呼び出される方法を見ると、(関数呼び出しを X に置き換えると) 表示されます...間違いなくパーセンテージが戻ってきます。

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

$this->getRatingSummary()関数呼び出しをエコーし​​て、何が返されているかを確認してから、数学に取り組んでそれを 0 ~ 5 の値に変換できます。

于 2012-09-09T00:00:23.017 に答える