snippet.liquid
Переменные в шаблонах InSales. С полной документацией можно ознакоиться по ссылке - https://liquidhub.ru/
В примере ниже:
widget_settings.layout-wide-content
- берем layout-wide-content из настроек виджета{% for video in data.blocks %}
- Цикл перебирающий блокиvideo.link
- Ссылка указанная в блоке. Доступные поля можно посмотреть - здесьvideo.image
- Изображение указанное в блоке. Доступные поля можно посмотреть - здесь
Пример:
{% assign img_width = widget_settings.layout-content-max-width | default: settings.layout-content-max-width %}
{% if widget_settings.layout-wide-content %}
{% assign img_width = 1920 %}
{% endif %}
<div class="banner-list__item {% unless widget_settings.banner-img-m %}show-mobile{% endunless %}">
{% assign img_width = widget_settings.layout-content-max-width | default: settings.layout-content-max-width %}
{% if widget_settings.layout-wide-content %}
{% assign img_width = 1920 %}
{% endif %}
<div class="h4 heading">{{ widget_settings.title_text-default }}</div>
<div class="gallery-contanier">
<div class="splide gallery-splide">
<div class="splide__slider">
<div class="splide__track">
<ul class="splide__list">
{% assign slide_index = 0 %}
{% for video in data.blocks %}
<li class="splide__slide" data-slide-index="{{ slide_index }}">
{% if video.link != blank %}
<div class="iframe_wrapper">
{{ video.link | video_iframe_by_url: id: video_id }}
</div>
{% else %}
<div class="banner-list__empty-video">
{{widget_settings.video-empty}}
</div>
{% endif %}
{% if video.image %}
<picture class="picture">
<source media="(min-width:769px)" data-srcset="{{ video.image | image_url: img_width, format: 'webp', resizing_type: 'fit_width' }}" type="image/webp" class="lazyload">
<source media="(max-width:480px)" data-srcset="{{ video.image | image_url: 500, format: 'webp', resizing_type: 'fit_width' }}" type="image/webp" class="lazyload">
<source media="(max-width:768px)" data-srcset="{{ video.image | image_url: 768, format: 'webp', resizing_type: 'fit_width' }}" type="image/webp" class="lazyload">
<img data-src="{{ video.image | image_url: 940, resizing_type: 'fit_width' }}" class="lazyload">
</picture>
{% else %}
<img class="picture" src="{{ video.link | video_preview_by_url }}" style="max-width: 100%" />
{% endif %}
<a href="" class="button banner-preview__play-btn">
<div class="triangle right"></div>
</a>
</li>
{% assign slide_index = slide_index | plus: 1 %}
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<div class="thumbnails-contanier js-init">
<div class="splide thumbnails-splide">
<div class="splide__track">
<ul class="splide__list">
{% for video in data.blocks %}
<li class="splide__slide">
{% if video.image %}
<picture>
<source media="(min-width:769px)" data-srcset="{{ video.image | image_url: img_width, format: 'webp', resizing_type: 'fit_width' }}" type="image/webp" class="lazyload">
<source media="(max-width:480px)" data-srcset="{{ video.image | image_url: 500, format: 'webp', resizing_type: 'fit_width' }}" type="image/webp" class="lazyload">
<source media="(max-width:768px)" data-srcset="{{ video.image | image_url: 768, format: 'webp', resizing_type: 'fit_width' }}" type="image/webp" class="lazyload">
<img data-src="{{ video.image | image_url: 940, resizing_type: 'fit_width' }}" class="lazyload">
</picture>
{% else %}
<img class="picture" src="{{ video.link | video_preview_by_url }}" style="max-width: 100%" />
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
Другие примеры:
{{ widget_messages.product_bundle_gift_text }}
- Перевод берется из файла messages.json{{ messages.reviews_are_moderated }}
- Можно использовать ключи с переводом из файла messages.json, если перевод не будет найдет, то мы идем в глобальные переводы messages.{% if editor_mode? %}
- Условие - если включен редактор