app/template/plugin/CustomerReview42/list.twig line 1

Open in your IDE?
  1. {% extends 'default_frame.twig' %}
  2. {% block javascript %}
  3.     <script type="text/javascript">
  4.         function changeOrderBy(orderby) {
  5.             $('#orderby').val(orderby);
  6.             $('#pageno').val(1);
  7.             $("#form1").submit();
  8.         }
  9.         function changeStar(star) {
  10.             $('#star').val(star);
  11.             $('#pageno').val(1);
  12.             $("#form1").submit();
  13.         }
  14.     </script>
  15. {% endblock %}
  16. {% block main %}
  17. {% include('@CustomerReview42/Block/customer_review4_recommend_css.twig') %}
  18. {% import('@CustomerReview42/Block/customer_review4_recommend_macro.twig') as recommend_macro %}
  19. {% set review_list = repository('Plugin\\CustomerReview42\\Entity\\CustomerReviewTotal').getRecommend(Product.id) %}
  20. {% set reviewer_total = 0 %}
  21. {% set review_total_point = 0 %}
  22. {% set count = 5 %}
  23. {% for i in review_list %}
  24.     {% set reviewer_total = reviewer_total + i %}
  25.     {% set review_total_point = review_total_point + i * count %}
  26.     {% set count = count - 1 %}
  27. {% endfor %}
  28. {% set review_point = reviewer_total == 0 ? 0  : (review_total_point / reviewer_total) %}
  29. {% set number = reviewer_total %}
  30. {% set avg_star = review_point %}
  31. <style>
  32. .review-commentLayout .reviewTitle {
  33.     height: 25px;
  34. }
  35. .review-commentLayout .reviewTitle .star img {
  36.     display: block;
  37.     float: left;
  38.     margin-right: 1px;
  39.     max-width: 25px;
  40.     max-height: 25px
  41. }
  42. .ec-imageGrid .ec-imageGrid__content .review_score span{
  43.     margin: 0;
  44. }
  45. </style>
  46. <form name="form1" id="form1" method="get" action="?">
  47.     {% set orderby_id = 1 %}
  48.     {% set star_id = 0 %}
  49.     {% for item in search_form %}
  50.         <input type="hidden" id="{{ item.vars.id }}"
  51.                name="{{ item.vars.full_name }}"
  52.                {% if item.vars.value is not empty %}value="{{ item.vars.value }}" {% endif %}/>
  53.         {% if item.vars.id == 'orderby' %}
  54.             {% if item.vars.value is not empty %}{% set orderby_id = item.vars.value %}{% endif %}
  55.         {% elseif item.vars.id == 'star' %}
  56.             {% if item.vars.value is not empty %}{% set star_id = item.vars.value %}{% endif %}
  57.         {% endif %}
  58.     {% endfor %}
  59. </form>
  60. <div style="margin-top: 20px; margin-bottom: 80px;" class="flexbox container main-container">
  61.     <div class="ec-off1Grid__cell">
  62.         <div class="ec-imageGrid review-productLayout">
  63.             <div class="ec-imageGrid__img" style="vertical-align: middle;">
  64.                 <img src="{{ asset(Product.main_list_image|no_image_product, 'save_image') }}">
  65.             </div>
  66.             <div class="ec-imageGrid__content">
  67.                 <a href="{{ url('product_detail', {'id': Product.id}) }}">{{ Product.name }}</a>
  68.             </div>
  69.             <div class="ec-imageGrid__content review-layoutRole list">
  70.             <h3 class="review_score flexbox"  data-avg="{{ avg_star }}" data-num="{{ number }}" data-starsize="22" data-imgbase="{{ asset('aneros/img/products/') }}">
  71.                 <span class="review_all_score_title">総合スコア:</span>
  72.                 <span class="review_all_score_image"></span>
  73.                 <span class="review_all_score_avg" style="margin-left: 5px;"></span>
  74.             </h3>
  75. {#                <div class="reviewAvarage">レビュー評価&nbsp;&nbsp;{{ recommend_macro.review( review_point, reviewer_total ) }}</div>#}
  76.                 {% set count = 5 %}
  77.                 {% for i in review_list %}
  78.                 <div class="review-layoutGauge">
  79.                     <div class="reviewReccomendLevel">
  80.                         {% if i %}
  81.                             <a href="javascript: void(0);" onclick="changeStar({{count}})">★{{count}}</a>
  82.                         {% else %}
  83.                             ★{{count}}
  84.                         {% endif %}
  85.                         &nbsp;
  86.                     </div>
  87.                     <div class="review-gaugeWrap">
  88.                         {% if reviewer_total > 0 and (i * 100 / reviewer_total)|round > 0 %}
  89.                             <div class="gaugeMain" style="width: {{ (i * 100 / reviewer_total)|round }}%;"></div>
  90.                         {% endif %}
  91.                     </div>
  92.                     <div class="reviewReccomendReviewer">
  93.                         &nbsp;
  94.                         {% if i %}
  95.                             <a href="javascript: void(0);" onclick="changeStar({{count}})">{{ i }}件</a>
  96.                         {% else %}
  97.                             {{ i }}件
  98.                         {% endif %}
  99.                     </div>
  100.                 </div>
  101.                     {% set count = count - 1 %}
  102.                 {% endfor %}
  103.                 <div class="reviewAllView list">
  104.                     {% if reviewer_total %}
  105.                         <a href="javascript: void(0);" onclick="changeStar()">全{{ reviewer_total }}件のレビューを見る</a>
  106.                     {% else %}
  107.                         レビューはまだありません。
  108.                     {% endif %}
  109.                 </div>
  110.             </div>
  111.         </div>
  112.     {% if pagination.totalItemCount == 0 %}
  113.         <div class="review-sortLayout">
  114.             <div class="reviewSort">
  115.                 <span><strong>レビューはまだありません。</strong></span>
  116.             </div>
  117.             <div class="reviewPost">
  118.                 <a class="ec-inlineBtn--action" href="{{ url('review_post', {'id': Product.id}) }}">{{ 'レビューを書く'|trans }}</a>
  119.             </div>
  120.         </div>
  121.     {% else %}
  122.         <div class="review-sortLayout">
  123.             <div class="reviewSort">
  124.                 <span><strong>{{ pagination.totalItemCount }}</strong>件の{% if star_id != 0 %}<strong>★{{ star_id }}</strong>{% endif %}レビューがあります</span>
  125.             </div>
  126.             <div class="reviewSort">
  127.                 <span>投稿日の</span>{% if orderby_id == 1 %}<strong>新しい順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(1)">新しい順</a>{% endif %}/{% if orderby_id == 2 %}<strong>古い順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(2)">古い順</a>{% endif %}
  128.                 {% if star_id == 0 %}
  129.                 <span>評価の</span>{% if orderby_id == 3 %}<strong>高い順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(3)">高い順</a>{% endif %}/{% if orderby_id == 4 %}<strong>低い順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(4)">低い順</a>{% endif %}
  130.                 {% endif %}
  131.             </div>
  132.             <div class="reviewPost">
  133.                 <a class="ec-inlineBtn--action" href="{{ url('review_post', {'id': Product.id}) }}">{{ 'レビューを書く'|trans }}</a>
  134.             </div>
  135.         </div>
  136.         <div class="ec-pagerRole">
  137.             {% include "@CustomerReview42/Block/customer_review4_pager.twig" with {'pages': pagination.paginationData, 'routes' : 'review_list', 'query_params' : app.request.query.all|merge({'id': Product.id})} %}
  138.         </div>
  139.         {% for Review in pagination %}
  140.             <div class="review-commentLayout">
  141.                 <div class="reviewTitle">
  142.                     <span class="star">
  143.                     {% for i in 1..5 %}
  144.                         {% if i <= Review.recommend_level %}
  145.                             <img src="{{ asset('aneros/img/products/star.jpg') }}" class="recommend_star" alt="星あり">
  146.                         {% else %}
  147.                             <img src="{{ asset('aneros/img/products/no_star.jpg') }}" class="recommend_nostar" alt="星なし">
  148.                         {% endif %}
  149.                     {% endfor %}
  150.                     </span>
  151.                     <strong>&nbsp;{{ Review.title }}</strong>
  152.                 </div>
  153.                 <div class="reviewAuthor">
  154.                     <span>{{ Review.reviewer_name }}さん</span>
  155.                     <p><span>{{ Review.create_date|date("Y/m/d") }}</span></p>
  156.                     {% if Review.purchase and review_config.isPurchaseMark %}<p><span style="color:#ee6400;">購入済み</span></p>{% endif %}
  157.                 </div>
  158.                 <div class="reviewComment">
  159.                     {{ Review.comment|nl2br }}
  160.                 </div>
  161.             </div>
  162.         {% endfor %}
  163.         <div class="review-sortLayout">
  164.             <div class="reviewSort">
  165.                 <span><strong>{{ pagination.totalItemCount }}</strong>件の{% if star_id != 0 %}<strong>★{{ star_id }}</strong>{% endif %}レビューがあります</span>
  166.             </div>
  167.             <div class="reviewSort">
  168.                 <span>投稿日の</span>{% if orderby_id == 1 %}<strong>新しい順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(1)">新しい順</a>{% endif %}/{% if orderby_id == 2 %}<strong>古い順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(2)">古い順</a>{% endif %}
  169.                 {% if star_id == 0 %}
  170.                 <span>評価の</span>{% if orderby_id == 3 %}<strong>高い順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(3)">高い順</a>{% endif %}/{% if orderby_id == 4 %}<strong>低い順</strong>{% else %}<a href="javascript: void(0);" onclick="changeOrderBy(4)">低い順</a>{% endif %}
  171.                 {% endif %}
  172.             </div>
  173.             <div class="reviewPost">
  174.                 <a class="ec-inlineBtn--action" href="{{ url('review_post', {'id': Product.id}) }}">{{ 'レビューを書く'|trans }}</a>
  175.             </div>
  176.         </div>
  177.         <div class="ec-pagerRole">
  178.             {% include "@CustomerReview42/Block/customer_review4_pager.twig" with {'pages': pagination.paginationData, 'routes' : 'review_list', 'query_params' : app.request.query.all|merge({'id': Product.id})} %}
  179.         </div>
  180.     {% endif %}
  181.     </div>
  182. </div>
  183. <style>
  184. .ec-layoutRole .ec-layoutRole__contents {
  185.     margin-right: 0;
  186.     margin-left: 0;
  187.     max-width: 100%;
  188. }
  189. .review-sortLayout .reviewPost a {font-weight:normal;background-color:#ff0000; padding: 7px 15px; font-size:13px;}
  190. </style>
  191.     <div class="swooth-wrapper grey-swooth">
  192.     </div>
  193. {% endblock %}