[カラーミーショップ]商品のレビュー数、平均評価を出力するメモ

忘れがち

レビュー評価をアクティブにする

レビュー機能は初期状態だとオフになってる(はず)。
オフだと何も置きないので、必ずあらかじめオンにしておく。

Just a moment…

有効化するついでに★を5段階評価にしておく。
最大は10段階だけど幅取るしパッと見でわかりにくいし一般的な5段階にしておくのが無難。

平均評価・総レビュー数

カラーミーショップには商品毎の評価、レビュー数を出力するタグが存在しない。
これくらい用意してくれよって思うんだけどね。
なので、各レビューから拾って頑張って出力する必要がある。

カラーミーショップはSmartyで構築されてるので、これを活用するのが良いと思う。

<{if $reviewlist|@count > 0}>
    
    <{assign var="total_star" value=0}>
    <{section name=num loop=$reviewlist}>
        <{assign var="total_star" value=$total_star+$reviewlist[num].star}>
    <{/section}>
    
    <{math equation="round(x / y, 1)" x=$total_star y=$reviewlist|@count assign="avg_rate"}>

    <div class="review">
        <a href="#review">
            <div class="star">
                <{section name=star start=1 loop=6 step=1}>
                    <{if $avg_rate >= $smarty.section.star.index}>
                        <span class="full"></span>
                    <{elseif $avg_rate >= $smarty.section.star.index - 0.5}>
                        <span class="fullhalf"></span>
                    <{else}>
                        <span class="blank"></span>
                    <{/if}>
                <{/section}>
            </div>
            <span class="num">(<{$reviewlist|@count}>件)</span>
        </a>
    </div>
<{/if}>

5段階評価を小数点第一位に収まるように四捨五入して、.5刻みで.blank、.half、.fullに振り分けてある。

コメント

タイトルとURLをコピーしました