custom/plugins/XantenLastSeenProduct/src/Resources/views/storefront/element/cms-element-last-seen-product-slider.html.twig line 127

Open in your IDE?
  1. {% block element_last_seen_product_slider %}
  2.     {% if not sliderConfig %}
  3.         {% set sliderConfig = element.fieldConfig.elements %}
  4.     {% endif %}
  5.     {% if element.data.products is null and sliderConfig.ajaxLoad.value %}
  6.     <div class="cms-element-product-slider cms-element-{{ element.type }}{% if sliderConfig.displayMode.value == "standard" and sliderConfig.verticalAlign.value %} has-vertical-alignment{% endif %}">
  7.         {% block element_last_seen_product_slider_alignment %}
  8.             {% if config.verticalAlign.value %}
  9.                 <div class="cms-element-alignment{% if sliderConfig.verticalAlign.value == "center" %} align-self-center{% elseif sliderConfig.verticalAlign.value == "flex-end" %} align-self-end{% else %} align-self-start{% endif %}">
  10.             {% endif %}
  11.             {% set gutter = 30 %}
  12.             {% set productSliderOptions = {
  13.                 productboxMinWidth: sliderConfig.elMinWidth.value ? sliderConfig.elMinWidth.value : '300px',
  14.                 slider: {
  15.                     gutter: gutter,
  16.                     autoplayButtonOutput: false,
  17.                     nav: false,
  18.                     mouseDrag: false,
  19.                     controls: sliderConfig.navigation.value ? true : false,
  20.                     autoplay: sliderConfig.rotate.value ? true : false
  21.                 }
  22.             } %}
  23.             {% if not sliderConfig.navigation.value %}
  24.                 {% set productSliderOptions = productSliderOptions|replace_recursive({
  25.                 slider: {
  26.                     mouseDrag: true
  27.                 }
  28.                 }) %}
  29.             {% endif %}
  30.             {% set ajaxUrl = path('frontend.last.seen.product.page', {
  31.                 'minItems': sliderConfig.minItems.value,
  32.                 'maxItems': sliderConfig.maxItems.value,
  33.                 'layout': sliderConfig.boxLayout.value,
  34.                 'displayMode': sliderConfig.displayMode.value
  35.             }) %}
  36.             {% if controllerName == 'Product' %}
  37.                 {% set ajaxUrl = path('frontend.last.seen.product.page', {
  38.                     'minItems': sliderConfig.minItems.value,
  39.                     'maxItems': sliderConfig.maxItems.value,
  40.                     'layout': sliderConfig.boxLayout.value,
  41.                     'displayMode': sliderConfig.displayMode.value,
  42.                     'skipProductId': page.product.id
  43.                 }) %}
  44.             {% endif %}
  45.             {% set lastSeenProductOptions = {
  46.                 productboxMinWidth: sliderConfig.elMinWidth.value ? sliderConfig.elMinWidth.value : '300px',
  47.                 slider: {
  48.                     gutter: gutter,
  49.                     autoplayButtonOutput: false,
  50.                     nav: false,
  51.                     mouseDrag: false,
  52.                     controls: sliderConfig.navigation.value ? true : false,
  53.                     autoplay: sliderConfig.rotate.value ? true : false
  54.                 },
  55.                 gutter: gutter,
  56.                 url: ajaxUrl
  57.             } %}
  58.             {% block element_last_seen_product_slider_slider %}
  59.                 <div class="base-slider product-slider {% if sliderConfig.navigation.value %} has-nav{% endif %}{% if sliderConfig.border.value %} has-border{% endif %} {% if sliderConfig.ajaxLoad.value %}is-loading{% endif %}"
  60.                      data-base-slider="true"
  61.                      data-base-slider-options="{{ productSliderOptions|json_encode }}"
  62.                      {% if sliderConfig.ajaxLoad.value %}
  63.                          data-last-seen-product-slider="true"
  64.                          data-last-seen-product-slider-options="{{ lastSeenProductOptions | json_encode }}"
  65.                      {% endif %}>
  66.                     {% block element_last_seen_product_slider_title %}
  67.                         {% if sliderConfig.title.value %}
  68.                             <div class="cms-element-title">
  69.                                 <p class="cms-element-title-paragraph">{{ sliderConfig.title.value }}</p>
  70.                             </div>
  71.                         {% endif %}
  72.                     {% endblock %}
  73.                     {% block element_last_seen_product_slider_text %}
  74.                         {% if sliderConfig.text.value %}
  75.                             <div class="cms-element-text">
  76.                                 {{ sliderConfig.text.value|raw }}
  77.                             </div>
  78.                         {% endif %}
  79.                     {% endblock %}
  80.                     {% block element_last_seen_product_slider_inner %}
  81.                         {% block element_last_seen_product_slider_element %}
  82.                             <div class="product-slider-container" data-base-slider-container="true">
  83.                                 {% sw_include '@Storefront/storefront/component/product-slider.html.twig' with {
  84.                                     'products': element.data.products.elements,
  85.                                     'layout': sliderConfig.boxLayout.value,
  86.                                     'displayMode': sliderConfig.displayMode.value
  87.                                 } %}
  88.                             </div>
  89.                         {% endblock %}
  90.                         {% block element_last_seen_product_slider_controls %}
  91.                             {% if sliderConfig.navigation.value %}
  92.                                 <div class="product-slider-controls-container">
  93.                                     <div class="base-slider-controls"
  94.                                          data-base-slider-controls="true">
  95.                                         {% block element_last_seen_product_slider_controls_items %}
  96.                                             <button class="base-slider-controls-prev product-slider-controls-prev">
  97.                                                 {% block element_last_seen_product_slider_controls_items_prev_icon %}
  98.                                                     {% sw_icon 'arrow-head-left' %}
  99.                                                 {% endblock %}
  100.                                             </button>
  101.                                             <button class="base-slider-controls-next product-slider-controls-next">
  102.                                                 {% block element_last_seen_product_slider_controls_items_next_icon %}
  103.                                                     {% sw_icon 'arrow-head-right' %}
  104.                                                 {% endblock %}
  105.                                             </button>
  106.                                         {% endblock %}
  107.                                     </div>
  108.                                 </div>
  109.                             {% endif %}
  110.                         {% endblock %}
  111.                     {% endblock %}
  112.                 </div>
  113.             {% endblock %}
  114.             {% if config.verticalAlign.value %}
  115.                 </div>
  116.             {% endif %}
  117.         {% endblock %}
  118.     </div>
  119.     {% else %}
  120.         <div class="cms-element-product-slider">
  121.             {% sw_include '@Storefront/storefront/element/cms-element-product-slider.html.twig' with {
  122.                 element: element
  123.             } %}
  124.         </div>
  125.     {% endif %}
  126. {% endblock %}