Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento产品评级显示单一审查摘要_Php_Magento - Fatal编程技术网

Php Magento产品评级显示单一审查摘要

Php Magento产品评级显示单一审查摘要,php,magento,Php,Magento,我使用5个评级选项进行产品审查。 它显示如下 但我还想显示该评论的总分显示该分数总数5的平均分数的分数 (我不想显示所有评论的平均值,只显示每个评论的平均值) 带有审阅摘要代码的新代码: <?php $reviews = Mage::getModel('review/review') ->getResourceCollection() ->addStoreFilter(Mage::app()->getStore()->getId()) ->addStatu

我使用5个评级选项进行产品审查。
它显示如下

但我还想显示该评论的总分
显示该分数总数5的平均分数的分数

(我不想显示所有评论的平均值,只显示每个评论的平均值)

带有审阅摘要代码的新代码:

<?php $reviews = Mage::getModel('review/review') ->getResourceCollection() ->addStoreFilter(Mage::app()->getStore()->getId())  ->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED) ->setDateOrder() ->addRateVotes();
$avg = 0; $totalrv = 0; $totalrvper =0; $ratings = array();
if (count($reviews) > 0) { foreach ($reviews->getItems() as $review) { foreach( $review->getRatingVotes() as $vote ) { $totalrv = $totalrv +$vote->getValue(); $totalrvper = $totalrvper + $vote->getPercent(); }
} $totalrv= ($totalrv/3)/4; $totalrvper = ($totalrvper/3)/4; $avgrate = round($totalrv, 1); } ?>

        <div class="summaryrating">
            <div class="categoryratings-header" style="display: none;">
                <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
            </div>
            <span class="reviewratingstars">            
                <div class="rating-box" style="padding-bottom: 34px;">
                    <div style="width:<?php echo $totalrvper; ?>%;" class="rating"></div>
                </div>
            </span>
            <span class="showcategoryratings" id="showcategoryratings-header">
                <span class="showcategoryratings-text" title="Bekijk de beoordelingen per categorie">Per categorie</span>
            </span>
        </div>




这不显示审查摘要。显示所有星级的总评论。我想要那篇评论的摘要。你想要设计+斯内尔海德+的平均值吗?是的,我要五个值的平均值。因此,单一审查的平均水平。就像评论摘要一样,它显示所有评论的平均值。但是,在本例中,我希望得到每个评论的平均值。Kaes,显示的数据不会刷新。当我删除评论时,平均分数不会更新。我怎样才能解决这个问题?你说的删除是什么意思?从行政审查管理?如果你有一个url来观看你的网站,它可以提供帮助:Dthanks。尝试了你的代码,但没有成功。在我的问题中查看我的当前代码。
    <?php $_votes = $this->getRatingVotes($_review->getId());?>
    <?php if (count($_votes)): ?>
    <table class="ratings-table">
        <col width="1" />
        <col />
        <tbody>
            <?php foreach ($_votes as $_vote): ?>
            <tr>
                <th><?php echo $_vote->getRatingCode() ?></th>
                <td>
                    <div class="rating-box">
                        <div class="rating" style="width:<?php echo $_vote->getPercent() ?>%;"></div>
                    </div>
                </td>
            </tr>
            <?php endforeach; ?>
        </tbody>
    </table>
    <?php endif; ?>
    <div class="ratingstars">
            <h4 class="title-beoordeling">Beoordeling</h4>
            <ul class="ratingbox">
            <?php foreach ($this->getRating() as $_rating): ?>
                <?php if($_rating->getPercent()): ?>
                     <li>
                        <span class="ratingcategoryname"><?php echo $this->__($_rating->getRatingCode()) ?></span>
                        <span class="reviewratingstars">
                            <div class="rating-score sum">
                                <div class="score-rating" style="width:<?php echo ceil($_rating->getPercent()) ?>%;"></div>
                            </div>
                        </span>
                    </li>
                <?php endif; ?>
            <?php endforeach; ?>

            <?php foreach ($_votes as $_vote): ?>
        <?php $summary += $_vote->getPercent(); ?>
        <?php $total++ ?>
            <?php endforeach; ?>
                     <li class="averagerating">
                        <span class="ratingcategoryname">Gemiddelde beoordeling</span>
                        <span class="reviewratingstars">
                            <div class="rating-score sum">
                                <div class="score-rating" style="width:<?php echo $summary/$total ?>%;"></div>
                            </div>
                        </span>
                   </li>
            </ul>
    </div>
    <?php $reviews = Mage::getModel('review/review') ->getResourceCollection() ->addStoreFilter(Mage::app()->getStore()->getId()) ->addEntityFilter('product', Mage::registry('current_product')->getId()) ->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED) ->setDateOrder() ->addRateVotes();
$avg = 0; $avgper = 0; $totalrv = 0; $totalrvper =0; $ratings = array(); $count = 0;
if (count($reviews) > 0) { foreach ($reviews->getItems() as $review) { foreach( $review->getRatingVotes() as $vote ) { $totalrv = $totalrv +$vote->getValue(); $count++; $totalrvper = $totalrvper + $vote->getPercent(); }
} $avg= $totalrv/count($reviews); $avgper = round($totalrvper/$count ,1);} ?>
        <div class="summaryrating">
            <div class="categoryratings-header" style="display: none;">
                <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
            </div>
            <span class="reviewratingstars">

                <div class="rating-box" style="padding-bottom: 34px;">
                    <div style="width:<?php echo $avgper; ?>%;" class="rating"></div>
                </div>
            </span>
            <span class="showcategoryratings" id="showcategoryratings-header">
                <span class="showcategoryratings-text" title="Bekijk de beoordelingen per categorie">Per categorie</span>
            </span>
        </div>
<?php
$reviews = Mage::getModel('review/review')->getResourceCollection()->addStoreFilter(Mage::app()->getStore()->getId())->addEntityFilter('product', Mage::registry('current_product')->getId())->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)->setDateOrder()->addRateVotes();
$avgper = 0;
$totalrvper = 0;
$ratings = array();
$count = 0;
$totalcount = 0;
if (count($reviews) > 0) {
foreach ($reviews->getItems() as $review) {
    foreach ($review->getRatingVotes() as $vote) {
        $totalcount++;
        $totalrvper = $totalrvper + $vote->getPercent();
        $ratings[$vote->getCode()]["count"] = $ratings[$vote->getCode()]["count"] + 1;
        $ratings[$vote->getCode()]["avg"] = $ratings[$vote->getCode()]["avg"] + $vote->getPercent();
    }
}
$avgper = round($totalrvper / $totalcount, 1);}?>
<div class="summaryrating">
<div class="categoryratings-header" style="display: none;">
<?php echo $this->getReviewsSummaryHtml($_product, false, true) ?>
</div>
<span class="reviewratingstars">

    <div class="rating-box" style="padding-bottom: 34px;">
        <div style="width:<?php echo $avgper; ?>%;" class="rating"></div>
    </div>
</span>
<span class="showcategoryratings" id="showcategoryratings-header">
    <span class="showcategoryratings-text" title="Bekijk de beoordelingen per categorie">Per categorie</span>
</span>
<span class="reviewperratingstars">
<?php foreach($ratings as $code => $rating) : ?>
    <div class="rating-box" style="padding-bottom: 34px;">
        <span class="label"><?php echo $code ?></span>
        <span style="width:<?php echo round($rating["avg"]/$rating["count"],1); ?>%;" class="rating"></span>
    </div>
<?php endforeach; ?>
</span>