custom/plugins/S360BasePlugin/src/Resources/views/storefront/element/cms-element-s360-adjustable-productslider.html.twig line 1

Open in your IDE?
  1. {% block adjustable_product_slider %}
  2.     {% if element.config.showLink.value %}
  3.         {% set link = "" %}
  4.         {% if element.config.linkType.value == "category" and element.config.categoryId.value %}
  5.             {% set link = seoUrl('frontend.navigation.page', { navigationId: element.config.categoryId.value }) %}
  6.         {% elseif element.config.linkType.value == "url" %}
  7.             {% set link = element.config.linkUrl.value %}  
  8.         {% endif %}
  9.         <a class="s360-adjustable-productslider__category-link" href="{{ link }}">{{ element.config.linkText.value }}</a>
  10.     {% endif %}
  11.     <div class="cms-element-{{ element.type }}{% if sliderConfig.displayMode.value == " standard" and sliderconfig.verticalalign.value %} has-vertical-alignment{% endif %}">
  12.         {% block element_product_slider_alignment %}
  13.             {% if sliderConfig.verticalAlign.value %}
  14.                 <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 %}">
  15.             {% endif %}
  16.                 {# controls are arrow navigation, navigation are dots and are always off for product slider #}
  17.                 {% set productSliderOptions = {
  18.                     slider: {
  19.                         gutter: 12,
  20.                         autoplayButtonOutput: false,
  21.                         nav: false,
  22.                         mouseDrag: false,
  23.                         controls: sliderConfig.navigation.value,
  24.                         autoplay: sliderConfig.rotate.value ? true : false,
  25.                         responsive: {
  26.                             xs: {
  27.                                 items: element.config.items.value.xs ? element.config.items.value.xs : 1,
  28.                                 edgePadding: 80
  29.                                 },
  30.                             sm: {items: element.config.items.value.sm ? element.config.items.value.sm : 2},
  31.                             md: {items: element.config.items.value.md ? element.config.items.value.md : 3},
  32.                             lg: {items: element.config.items.value.lg ? element.config.items.value.lg : 4},
  33.                             xl: {items: element.config.items.value.xl ? element.config.items.value.xl : 6}
  34.                         }
  35.                     }
  36.                 } %}
  37.                 
  38.                 {% if not sliderConfig.navigation.value %}
  39.                     {% set productSliderOptions = productSliderOptions|replace_recursive({
  40.                         slider: {
  41.                             mouseDrag: true
  42.                         }
  43.                     }) %}
  44.                 {% endif %}
  45.                 {% block element_product_slider_slider %}
  46.                     <div class="base-slider product-slider{% if sliderConfig.border.value %} has-border{% endif %}{% if sliderConfig.navigation.value %} has-nav{% endif %}" data-base-slider="true" data-base-slider-options="{{ productSliderOptions|json_encode }}">
  47.                         {% block element_product_slider_title %}
  48.                             {% if sliderConfig.title.value %}
  49.                                 <h2 class="cms-element-title">{{ sliderConfig.title.value }}</h2>
  50.                             {% endif %}
  51.                         {% endblock %}
  52.                         {% block element_product_slider_inner %}
  53.                             {% block element_product_slider_element %}
  54.                                 <div class="product-slider-container" data-base-slider-container="true">
  55.                                     {% for product in element.data.products.elements %}
  56.                                         {% block element_product_slider_inner_item %}
  57.                                             <div class="product-slider-item">
  58.                                                 {% sw_include '@Storefront/storefront/component/product/card/box.html.twig' with {
  59.                                                     'layout': sliderConfig.boxLayout.value,
  60.                                                     'displayMode': sliderConfig.displayMode.value
  61.                                                 } %}
  62.                                             </div>
  63.                                         {% endblock %}
  64.                                     {% endfor %}
  65.                                 </div>
  66.                             {% endblock %}
  67.                             {% block element_product_slider_controls %}
  68.                                 {% if sliderConfig.navigation.value or showControls %}
  69.                                     <div class="product-slider-controls-container">
  70.                                         <div class="base-slider-controls" data-base-slider-controls="true">
  71.                                             {% block element_product_slider_controls_items %}
  72.                                                 <button class="base-slider-controls-prev product-slider-controls-prev{% if sliderConfig.border.value %} has-border{% endif %}">
  73.                                                     {% block element_product_slider_controls_items_prev_icon %}
  74.                                                         {% sw_icon 'arrow-head-left' %}
  75.                                                     {% endblock %}
  76.                                                 </button>
  77.                                                 <button class="base-slider-controls-next product-slider-controls-next{% if sliderConfig.border.value %} has-border{% endif %}">
  78.                                                     {% block element_product_slider_controls_items_next_icon %}
  79.                                                         {% sw_icon 'arrow-head-right' %}
  80.                                                     {% endblock %}
  81.                                                 </button>
  82.                                             {% endblock %}
  83.                                         </div>
  84.                                     </div>
  85.                                 {% endif %}
  86.                             {% endblock %}
  87.                         {% endblock %}
  88.                     </div>
  89.                 {% endblock %}
  90.                 {% if sliderConfig.verticalAlign.value %}
  91.                 </div>
  92.             {% endif %}
  93.         {% endblock %}
  94.     </div>
  95. {% endblock %}