Skip to content

snippet.js

Сниппет нужен для написания javascript кода, относящегося к данному виджету. В сниппете доступна библиотека jquery. Внутри доступна переменная $widget в которой лежат все копии данного виджета на странице, поэтому во избежание багов при использовании более одного виджета на странице, их нужно перебирать через метод each:

$widget.each(function(index, el) {
  new LazyLoad({container: $(el).get(0),
    elements_selector: '.lazyload'});
});

Можно использовать встроенные события EventBus, подробнее можно ознокомиться здесь

  EventBus.subscribe('change_variant:insales:product', function(data) {
    let is_product_instance_in_modal_panel = !!$(data.action.product[0]).parents(".modal-product-preview.is-open").length;

    if (data.action && data.action.product && data.first_image.url && is_product_instance_in_modal_panel) {
      let product_node = $(data.action.product[0]);
      product_node.find(".product-preview__photo img").attr("src", data.first_image.medium_url);
    }
  });

Доступные зависимости (плагины). Зависимости используются только, те которые установлены на стороне платформы:

Можно посмотреть здесь.