{% embed 'components/organisms/offside/offside.html.twig' with {
'id': 'offcanvasCart',
'header': 'header_off_canvas_cart_add'|trans|tagWrap('span', {
class: 'offside__headline-cart',
}),
'class': 'offside--cart'
} %}
{% block offcanvasHeader %}
<div class="offside__header">
<div class="offside__headline">
{{ header|default|raw }}
</div>
</div>
{% endblock %}
{% block offcanvasClose %}
{{ parent() }}
{% endblock %}
{% block offcanvasContent %}
<div class="offcanvas-cart">
<div class="offcanvas-cart__product product-component--small product-component">
<vue-product-component image-service="{{ imageservice }}" :variant=" {{ variant|json_encode }}" update-by-event="addToCartUpdateLineItem"></vue-product-component>
</div>
<div class="offcanvas-cart__related-products">
<related-products-tabs
tab-entries="{{ getCrossSellEntries(variant,[constant('App\\Twig\\Functions\\CrossSellExtension::ACCESSORY'), constant('App\\Twig\\Functions\\CrossSellExtension::SERVICE') ])|json_encode }}"
css-class="related-products-tabs--offcanvas"
image-service="{{ imageservice }}"
api-url="{{ path('app_get_products')}}"
add-product-url="{{ path('checkout_cart_add_line_item') }}"
id="canvas-cart-related-products"
current-language="{{ storeContext.localeInfo.currentLocale}}"
product-component-class="product-component--small product-component"
element-part="offcanvas-cart"
>
</related-products-tabs>
</div>
</div>
{% endblock %}
{% block offcanvasFooter%}
<div class="offcanvas-cart__actions">
{% include 'components/atoms/text-link/text-link.html.twig' with {
'class': 'button offcanvas-cart__go-to-cart button--primary',
'text': 'off_canvas_cart_go_to_cart'|trans,
'href': path('checkout_cart_index')
} %}
{% include 'components/atoms/button/button.html.twig' with {
'class': 'offcanvas-cart__more-shopping button--secondary js-off-canvas-cart js-offside js-offside-trigger',
'content': 'off_canvas_cart_more_shopping'|trans,
'type': 'button',
'attributes': {
'aria-label': 'off_canvas_cart_more_shopping'|trans,
'data-offside-component': 'offcanvasCart',
'data-collapse-close-on-body': 'true',
'data-offside-sliding-side': 'right'
}
} %}
</div>
{% endblock %}
{% endembed %}