Документация Javascript Выбор опций и характеристик в списках

saleskuPluginProductsPool

Объект отвечает за работу плагина на всех страницах и позволяет управлять некоторыми настройками

Публичные методы

  1. isInit() - метод возвращает статус выполнения метода init, можно использовать для проверки полной загрузки функционала плагина
  2. setOff('string_jquery_selector') - метод используется для отключения плагина в продуктах в переданном списке во время(до) загрузки функционала плагина Пример: Необходимо отключить плагин для списка хитов, сам список хитов (контейнер) имеет класс .list-hits Для отключения нужно добавить в дополнительный js файл плагина (в настройках или в теме plugin.salesku.js) строку $.saleskuPluginProductsPool.setOff('.list-hits'); В качестве селектора принимается только родительский элемент списка продуктов(прим: ul#cat-list, .product-list тд.), контейнер в котором лежат блоки с продуктами (обычно ul, а блоки продуктов - li)
  3. setOn('string_jquery_selector') - метод отменяет отключение функционала установленное в методе setOff во время(до) загрузки функционала плагина, в плагине для некоторых тем установлено скрытие для некоторых списков по умолчанию из-за трудностей интеграции дизайна и конфликтов функционала, Вы можете отменить данное отключение по аналогии с setOff Пример: в списке хитов (.list-hits) плагин отключен, вы можете обратно включить плагин(отменить отключение), добавив строку $.saleskuPluginProductsPool.setOn('.list-hits'); В качестве селектора принимается только родительский элемент списка продуктов(прим: ul#cat-list, .product-list тд.), контейнер в котором лежат блоки с продуктами (обычно ul, а блоки продуктов - li)
  4. isOff('string_jquery_selector') - метод проверяет было ли установлено отключение плагина для списка продуктов в качестве аргумента jquery объект контейнера списка продуктов (родительский элемент списка продуктов(прим: ul#cat-list, .product-list тд.), контейнер в котором лежат блоки с продуктами (обычно ul, а блоки продуктов - li)) Пример: Список хитов (.list-hits), ранее его мог кто-то выключить через setOff, чтобы узнать установлено ли отключение в этом списке используйте проверку var hitsoff = $.saleskuPluginProductsPool.ifOff('.list-hits');// true, false
  5. on(jquery_obj) - метод включает функционал плагина в продуктах находящихся внутри переданного контейнера (jquery объект) желательно проверять прошла ли инициализация плагина методом isInit
  6. off(jquery_obj) - метод выключает функционал плагина в продуктах находящихся внутри переданного контейнера (jquery объект) желательно проверять прошла ли инициализация плагина методом isInit
  7. bindOff(bind_el_jquery_selector, product_list_jquery_selector, bind_el_action(def click)) - специальный метод bind, биндит на элемент отключение плагина при действии (action) с bind_el_jquery_selector для контейнера product_list_jquery_selector. Пример: есть переключение вида показа товаров в категории и необходимо при каком то определенном виде отключить плагин(чтобы дизайн не кривился или по др причинам), для этого нужно определить элемент(bind_el_jquery_selector) и его действие напр. кнопка ('ul#list-view li.short') и действие click по ней, также надо определить селектор контейнера списка продуктов('.product-list'), в котором будем отключать плагин при клике на кнопку В итоге получится так: $.saleskuPluginProductsPool.bindOff('ul#list-view li.short', '.product-list'); Теперь при нажатии на $('ul#list-view li.short') внутри контейнера $('.product-list') плагин будет выключаться у продуктов
  8. bindOn(bind_el_jquery_selector, product_list_jquery_selector, bind_el_action(click)) - специальный метод bind, биндит на элемент включение плагина при действии (action) с bind_el_jquery_selector для контейнера product_list_jquery_selector. Пример, допустим при определенном виде продуктов вы выключили плагин, и при смене на очередной вид продуктов вам надо снова включить для этого этого нужно определить элемент(bind_el_jquery_selector) и его действие напр.кнопка ('ul#list-view li.trumbs') и действие click по ней, также надо определить селектор контейнера списка продуктов('.product-list'), в котором будем включать плагин при клике на кнопку В итоге получится так: $.saleskuPluginProductsPool.bindOn('ul#list-view li.trumbs', '.product-list'); Теперь при нажатии на $('ul#list-view li.trumbs') внутри контейнера $('.product-list') плагин будет ключаться у продуктов
  9. _bind(string_jquery_selector, action(click,change...) ,function) - метод добавляет bind элементу по селектору jquery с переданной функцией Инициализация всех биндов будет происходить в конце загрузки функционала плагина в методе init,
  10. _unbind: (string_jquery_selector, action(click,change...)) - метод удаляет установленный bind элементу через метод _bind Инициализация всех биндов будет происходить в конце загрузки функционала плагина в методе init, поэтому удаление биндов нужно ставить раньше выполнения init

saleskuPluginProduct

Объект отвечает за продукт в списке

Публичные методы:

  1. skuBinds = {} - Объект хранения функций для работы с артикулом, устанавливаемым при выборе опций или характеристик товара. В функцию добавленную в данный массив будут импротированы две переменные: sku - массив данных артикула или false, при установке несуществующего артикула, product - сам объект класса saleskuPluginProduct Пример использования: Допустим вы хотите показать кнопку предзаказа при выборе недоступного к покупке артикула, для этого необходимо создать функцию, которая будет скрывать кнопку в корзину и показывать кнопку предзаказа, при этом необходимо учесть и обратный эффект при доступном артикуле. Пример функции:
    saleskuPluginProduct.skuBinds.preorder = function() {
         var cart_button = this.product.getElements().getRoot().find('a.add_to_cart');
         var preorder = cart_button.parent().find('.preorder');
         // Если нет артикула
         if(!this.sku) {
             preorder.hide();// скрываем кнопки предзаказа
             $('#preorder_'+sku.id).show(); // Показываем кнопку предзаказа артикула
             cart_button.hide(); // Скрываем кнопку вкорзину
         } else {
             cart_button.show(); //Показываем кнопку в корзину
             preorder.hide();// Скрываем все
         }
     }
  2. getElements() - Метод возвращает объект Элементов продукта (saleskuPluginProductElements)
  3. off() - Метод выключает функционал плагина в продукте и скрывает все данные плагина
  4. on() - Метод включает функционал плвгина в продукте
  5. setPrice(price:float) - Метод устанавливает цену на продукт
  6. setComparePrice(compare_price:float) - Метод устанавливает старую цену продукта или убирает ее, если передан false
Posted: March 14, 2018
Рыжов Гена Поддержка

0 comments

    Add comment

    To add a comment please sign up or login