vendor/shopware/storefront/Resources/views/storefront/component/checkout/offcanvas-cart.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/utilities/offcanvas.html.twig' %}
  2. {% block utilities_offcanvas_meta %}
  3.     {% set isAjaxOffcanvas = true %}
  4.     {{ parent() }}
  5. {% endblock %}
  6. {% block utilities_offcanvas_close_text %}
  7.     {{ "checkout.continueShopping"|trans|sw_sanitize }}
  8. {% endblock %}
  9. {% block utilities_offcanvas_close_icon %}
  10.     {% sw_icon 'arrow-head-left' style { 'size': 'sm' } %}
  11. {% endblock %}
  12. {% block utilities_offcanvas_content %}
  13.     {% block component_offcanvas_cart %}
  14.         {% set isCartNotEmpty = (page.cart.lineItems|length > 0) %}
  15.         <div class="offcanvas-cart">
  16.             {% block component_offcanvas_cart_header %}
  17.                 <div class="row align-items-center h4 offcanvas-cart-header">
  18.                     <div class="col">
  19.                         {{ "checkout.cartHeader"|trans|sw_sanitize }}
  20.                     </div>
  21.                     {% set checkoutItemCounter = page.cart.lineItems|length %}
  22.                     {% block component_offcanvas_cart_header_item_counter %}
  23.                         {% if isCartNotEmpty %}
  24.                             <div class="col-auto">
  25.                                 <small class="offcanvas-cart-header-count">
  26.                                     {{ "checkout.itemCounter"|trans({'%count%': checkoutItemCounter})|sw_sanitize }}
  27.                                 </small>
  28.                             </div>
  29.                         {% endif %}
  30.                     {% endblock %}
  31.                 </div>
  32.             {% endblock %}
  33.             {% block component_offcanvas_cart_flashbags %}
  34.                 <div class="flashbags">
  35.                     {% for type, messages in app.flashes %}
  36.                         {% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
  37.                             type: type,
  38.                             list: messages
  39.                         } %}
  40.                     {% endfor %}
  41.                 </div>
  42.             {% endblock %}
  43.             {% if isCartNotEmpty %}
  44.                 {% block component_offcanvas_cart_items %}
  45.                     <div class="offcanvas-cart-items">
  46.                         {% for lineItem in page.cart.lineItems %}
  47.                             {% block component_offcanvas_cart_item %}
  48.                                 {# @deprecated tag:v6.5.0 - Template `offcanvas-item.html.twig` is deprecated. Use `storefront/component/line-item/line-item.html.twig` instead. #}
  49.                                 {% if feature('v6.5.0.0') %}
  50.                                     {% sw_include '@Storefront/storefront/component/line-item/line-item.html.twig' with {
  51.                                         displayMode: 'offcanvas',
  52.                                         redirectTo: 'frontend.cart.offcanvas'
  53.                                     } %}
  54.                                 {% else %}
  55.                                     {% sw_include '@Storefront/storefront/component/checkout/offcanvas-item.html.twig' %}
  56.                                 {% endif %}
  57.                             {% endblock %}
  58.                         {% endfor %}
  59.                     </div>
  60.                 {% endblock %}
  61.             {% else %}
  62.                 {% block component_offcanvas_cart_empty %}
  63.                     {% sw_include '@Storefront/storefront/utilities/alert.html.twig' with {
  64.                         type: "info",
  65.                         content: "checkout.emptyCart"|trans|sw_sanitize
  66.                     } %}
  67.                 {% endblock %}
  68.             {% endif %}
  69.             {% if isCartNotEmpty %}
  70.                 {% block component_offcanvas_summary %}
  71.                     {% sw_include '@Storefront/storefront/component/checkout/offcanvas-cart-summary.html.twig' %}
  72.                 {% endblock %}
  73.             {% endif %}
  74.             {% block component_offcanvas_cart_actions %}
  75.                 <div class="offcanvas-cart-actions">
  76.                     {% block component_offcanvas_cart_actions_promotion %}
  77.                         {% if isCartNotEmpty %}
  78.                             <div class="js-offcanvas-cart-promotion">
  79.                                 {% block component_offcanvas_cart_actions_promotion_form %}
  80.                                     <form action="{{ path('frontend.checkout.promotion.add') }}"
  81.                                           class="offcanvas-cart-promotion-form js-offcanvas-cart-add-promotion"
  82.                                           method="post">
  83.                                         {# @deprecated tag:v6.5.0 - Block component_offcanvas_cart_actions_promotion_form_csrf will be removed. #}
  84.                                         {% block component_offcanvas_cart_actions_promotion_form_csrf %}
  85.                                             {{ sw_csrf('frontend.checkout.promotion.add') }}
  86.                                         {% endblock %}
  87.                                         {% block component_offcanvas_cart_actions_promotion_redirect %}
  88.                                             <input type="hidden"
  89.                                                    name="redirectTo"
  90.                                                    value="frontend.cart.offcanvas">
  91.                                         {% endblock %}
  92.                                         {% block component_offcanvas_cart_actions_promotion_input_group %}
  93.                                             <div class="input-group">
  94.                                                 {% block component_offcanvas_cart_actions_promotion_label %}
  95.                                                     <label class="{{ visuallyHiddenClass }}" for="addPromotionOffcanvasCartInput">
  96.                                                         {{ "checkout.addPromotionLabel"|trans|sw_sanitize }}
  97.                                                     </label>
  98.                                                 {% endblock %}
  99.                                                 {% block component_offcanvas_cart_actions_promotion_input %}
  100.                                                     <input type="text"
  101.                                                            name="code"
  102.                                                            class="form-control"
  103.                                                            id="addPromotionOffcanvasCartInput"
  104.                                                            placeholder="{{ "checkout.addPromotionPlaceholder"|trans|striptags }}"
  105.                                                            aria-label="{{ "checkout.addPromotionLabel"|trans|striptags }}"
  106.                                                            aria-describedby="addPromotionOffcanvasCart"
  107.                                                            required="required">
  108.                                                 {% endblock %}
  109.                                                 {% block component_offcanvas_cart_actions_promotion_submit %}
  110.                                                     {# @deprecated tag:v6.5.0 - Bootstrap v5 removes `input-group-append` wrapper and uses elements as direct childs of `input-group` #}
  111.                                                     {% if feature('v6.5.0.0') %}
  112.                                                         <button class="btn btn-secondary"
  113.                                                                 type="submit"
  114.                                                                 id="addPromotionOffcanvasCart">
  115.                                                             {% sw_icon 'checkmark' %}
  116.                                                         </button>
  117.                                                     {% else %}
  118.                                                         <div class="input-group-append">
  119.                                                             <button class="btn btn-secondary"
  120.                                                                     type="submit"
  121.                                                                     id="addPromotionOffcanvasCart">
  122.                                                                 {% sw_icon 'checkmark' %}
  123.                                                             </button>
  124.                                                         </div>
  125.                                                     {% endif %}
  126.                                                 {% endblock %}
  127.                                             </div>
  128.                                         {% endblock %}
  129.                                     </form>
  130.                                 {% endblock %}
  131.                             </div>
  132.                         {% endif %}
  133.                     {% endblock %}
  134.                     {% block component_offcanvas_cart_actions_checkout %}
  135.                         {# @deprecated tag:v6.5.0 - Bootstrap v5 removes `btn-block` class, use `d-grid` wrapper instead #}
  136.                         {% if feature('v6.5.0.0') %}
  137.                             <div class="d-grid">
  138.                                 <a href="{{ path('frontend.checkout.confirm.page') }}"
  139.                                    class="btn begin-checkout-btn{% if isCartNotEmpty %} btn-primary{% else %} btn-light disabled{% endif %}"
  140.                                    title="{{ "checkout.proceedToCheckout"|trans|striptags }}">
  141.                                     {{ "checkout.proceedToCheckout"|trans|sw_sanitize }}
  142.                                 </a>
  143.                             </div>
  144.                         {% else %}
  145.                             <a href="{{ path('frontend.checkout.confirm.page') }}"
  146.                                class="btn btn-block begin-checkout-btn{% if isCartNotEmpty %} btn-primary{% else %} btn-light disabled{% endif %}"
  147.                                title="{{ "checkout.proceedToCheckout"|trans|striptags }}">
  148.                                 {{ "checkout.proceedToCheckout"|trans|sw_sanitize }}
  149.                             </a>
  150.                         {% endif %}
  151.                     {% endblock %}
  152.                     {% block component_offcanvas_cart_actions_cart %}
  153.                         {# @deprecated tag:v6.5.0 - Bootstrap v5 removes `btn-block` class, use `d-grid` wrapper instead #}
  154.                         {% if feature('v6.5.0.0') %}
  155.                             <div class="d-grid">
  156.                                 <a href="{{ path('frontend.checkout.cart.page') }}"
  157.                                    class="btn btn-link"
  158.                                    title="{{ "checkout.proceedToCart"|trans|striptags }}">
  159.                                     {{ "checkout.proceedToCart"|trans|sw_sanitize }}
  160.                                 </a>
  161.                             </div>
  162.                         {% else %}
  163.                             <a href="{{ path('frontend.checkout.cart.page') }}"
  164.                                class="btn btn-block btn-link"
  165.                                title="{{ "checkout.proceedToCart"|trans|striptags }}">
  166.                                 {{ "checkout.proceedToCart"|trans|sw_sanitize }}
  167.                             </a>
  168.                         {% endif %}
  169.                     {% endblock %}
  170.                 </div>
  171.             {% endblock %}
  172.         </div>
  173.         {% block component_offcanvas_cart_hidden_line_items_information %}
  174.             {% sw_include '@Storefront/storefront/component/checkout/hidden-line-items-information.html.twig' with {
  175.                 cart: page.cart,
  176.                 lineItems: page.cart.lineItems
  177.             } %}
  178.         {% endblock %}
  179.     {% endblock %}
  180. {% endblock %}