vendor/shopware/storefront/Resources/views/storefront/component/review/review-widget.html.twig line 1

Open in your IDE?
  1. {% block component_review_widget %}
        <div class="sticky-top product-detail-review-widget">
    
            {% block component_review_info_container %}
                {% block component_review_info %}
                    <div class="product-detail-review-info js-review-info">
    
                        {% block component_review_title %}
                            <p class="product-detail-review-title h5">
                                {{ "detail.reviewTitle"|trans({'%count%': reviews.total, '%total%':reviews.totalReviews })|sw_sanitize }}
                            </p>
                        {% endblock %}
    
                        {% block component_review_overview %}
                            <div class="product-detail-review-rating"
                                {% if productReviewCount > 0 %}
                                    itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating"
                                {% endif %}>
    
                                {% if productReviewCount > 0 %}
                                    <meta itemprop="bestRating" content="5">
                                    <meta itemprop="ratingCount" content="{{ productReviewCount }}">
                                    <meta itemprop="ratingValue" content="{{ productAvgRating }}">
                                {% endif %}
    
                                {% sw_include '@Storefront/storefront/component/review/rating.html.twig' with {
                                    points: productAvgRating,
                                    style: 'text-primary'
                                } %}
    
                                {% if productReviewCount > 0 %}
                                    <p class="h6">
                                        {{ productAvgRating }} {{ "detail.reviewAvgRate"|trans|sw_sanitize }} {{ reviews.matrix.maxPoints }} {{ "detail.reviewAvgRateElements"|trans }}
                                    </p>
                                {% endif %}
                            </div>
                        {% endblock %}
                    </div>
                {% endblock %}
    
                {% if productReviewCount > 0 %}
                    <hr>
                {% endif %}
    
                {% set formAjaxSubmitOptions = {
                    replaceSelectors: [".js-review-container"],
                    submitOnChange: true
                } %}
    
                {% block component_review_filter %}
                    {% if productReviewCount > 0 %}
                        <div class="js-review-filter">
                            <form class="review-filter-form"
                                  action="{{ path('frontend.product.reviews', { productId: product.id, parentId: product.parentId }) }}"
                                  method="post"
                                  data-form-ajax-submit="true"
                                  data-form-ajax-submit-options='{{ formAjaxSubmitOptions|json_encode }}'>
    
                                {# @deprecated tag:v6.5.0 - Block component_review_filter_csrf will be removed. #}
                                {% block component_review_filter_csrf %}
                                    {{ sw_csrf('frontend.product.reviews') }}
                                {% endblock %}
    
                                {% if app.request.get('limit') %}
                                    <input type="hidden" name="limit" value="{{ app.request.get('limit') }}">
                                {% endif %}
    
                                {% if app.request.get('language') %}
                                    <input type="hidden" name="language" value="{{ app.request.get('language') }}">
                                {% endif %}
    
                                {% if app.request.get('sort') %}
                                    <input type="hidden" name="sort" value="{{ app.request.get('sort') }}">
                                {% endif %}
    
                                {% for matrix in reviews.matrix.matrix %}
                                    {% block component_review_filter_box %}
                                        <div class="row product-detail-review-filter">
    
                                            {% block component_review_filter_checkbox %}
                                                <div class="col-md-8 col-lg-5 product-detail-review-checkbox">
                                                    <div class="{{ formCheckboxWrapperClass }}">
    
                                                        {% block component_review_filter_checkbox_input %}
                                                            <input type="checkbox"
                                                                   class="{{ formCheckInputClass }}"
                                                                   id="reviewRating{{ matrix.points }}"
                                                                   name="points[]"
                                                                {% if app.request.get('points') %}
                                                                    {% for points in app.request.get('points') %}
                                                                        {% if points == matrix.points %}
                                                                            checked="checked"
                                                                        {% endif %}
                                                                    {% endfor %}
                                                                {% endif %}
                                                                   value="{{ matrix.points }}"
                                                                {% if matrix.count < 1 %}disabled{% endif %}>
                                                        {% endblock %}
    
                                                        {% block component_review_filter_checkbox_label %}
                                                            <label class="custom-control-label text-nowrap"
                                                                   for="reviewRating{{ matrix.points }}">
                                                                <small>{{ "detail.review#{matrix.points}PointRatingText"|trans|sw_sanitize }}
                                                                    ({{ matrix.count }})</small>
                                                            </label>
                                                        {% endblock %}
                                                    </div>
                                                </div>
                                            {% endblock %}
    
                                            {% block component_review_filter_progressbar %}
                                                <div class="col d-none d-lg-block product-detail-review-progressbar-col">
                                                    <div class="progress product-detail-review-progressbar-container">
                                                        <div class="progress-bar product-detail-review-progressbar-bar"
                                                             role="progressbar"
                                                             style="width: {{ matrix.percent }}%;"
                                                             aria-valuenow="{{ matrix.percent }}"
                                                             aria-valuemin="0"
                                                             aria-valuemax="100"></div>
                                                    </div>
                                                </div>
                                            {% endblock %}
    
                                            {% block component_review_filter_share %}
                                                <div class="col-12 col-md-3 product-detail-review-share">
                                                    <p><small>{{ matrix.percent|round }}%</small></p>
                                                </div>
                                            {% endblock %}
                                        </div>
                                    {% endblock %}
                                {% endfor %}
                            </form>
                        </div>
    
                        {% block component_review_filter_divider %}
                            <hr/>
                        {% endblock %}
                    {% endif %}
                {% endblock %}
            {% endblock %}
    
            {% block component_review_form_teaser %}
                <div class="product-detail-review-teaser js-review-teaser">
    
                    {% block component_review_form_teaser_header %}
                        <p class="h4">
                            {% if not reviews.customerReview %}
                                {{ "detail.reviewTeaserTitle"|trans|sw_sanitize }}
                            {% else %}
                                {{ "detail.reviewExistsTeaserTitle"|trans|sw_sanitize }}
                            {% endif %}
                        </p>
                    {% endblock %}
    
                    {% block component_review_form_teaser_text %}
                        <p>
                            {% if not page.customerReview %}
                                {{ "detail.reviewTeaserText"|trans|sw_sanitize }}
                            {% else %}
                                {{ "detail.reviewExistsTeaserText"|trans|sw_sanitize }}
                            {% endif %}
                        </p>
                    {% endblock %}
    
                    {% block component_review_form_teaser_button %}
                        <button class="btn btn-primary product-detail-review-teaser-btn"
                                type="button"
                                {{ dataBsToggleAttr }}="collapse"
                                {{ dataBsTargetAttr }}=".multi-collapse"
                                aria-expanded="false"
                                aria-controls="review-form review-list">
                            <span class="product-detail-review-teaser-show">
                                {% if not reviews.customerReview %}
                                    {{ "detail.reviewTeaserButton"|trans|sw_sanitize }}
                                {% else %}
                                    {{ "detail.reviewExistsTeaserButton"|trans|sw_sanitize }}
                                {% endif %}
                            </span>
                            <span class="product-detail-review-teaser-hide">
                                {{ "detail.reviewTeaserButtonHide"|trans|sw_sanitize }}
                            </span>
                        </button>
                    {% endblock %}
                </div>
            {% endblock %}
        </div>
    {% endblock %}