【问题标题】:Star and Half Star Rating in LaravelLaravel 中的星级和半星评级
【发布时间】:2021-11-25 16:53:09
【问题描述】:

我想以星级显示平均产品评分。数值显示良好,但如果数值为浮点数,我想显示半星。

我的刀片视图:

<div class="rating">
  @for($i=0;$i<5;$i++)
    @if($product->ratings->avg('rating') > $i)
      <span class="icon-ratings"><i class="icon-rating icon-rating-x"></i></span>
    @else
      <span class="icon-ratings"><i class="icon-rating icon-rating-o"></i></span>
    @endif
  @endfor
 &nbsp; <div style="float:left">{{$product->ratings->avg('rating')}}</div>
</div>

平均值显示为 4.5。但是所有的 5 颗星都充满了金色。我想填充最后一半的星,因为那是一个浮点数。

【问题讨论】:

    标签: javascript php css laravel e-commerce


    【解决方案1】:

    使用floor()函数来检测像这样的浮点值

    .................
    @for($i=0;$i<5;$i++)
    
      <?php
        $thisRating = product->ratings->avg('rating')
        if(floor($thisRating) != $thisRating) {
          $hasHalfVal = 1;
        } else {
          $hasHalfVal = 0;
        }
      ?>
    
       @if($thisRating > $i && $hasHalfVal == 0)
         <span class="icon-ratings"><i class="icon-rating icon-rating-x"></i></span>
       @else if($thisRating > $i && $hasHalfVal == 1) 
         <span class="icon-ratings"><i class="icon-rating icon-rating-half"></i></span>
       @else
         <span class="icon-ratings"><i class="icon-rating icon-rating-o"></i></span>
       @endif
    
     .................
    

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 2021-05-31
      • 2022-01-07
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      相关资源
      最近更新 更多