Документация Javascript Выбор опций и характеристик в списках
saleskuPluginProductsPool
Объект отвечает за работу плагина на всех страницах и позволяет управлять некоторыми настройками
Публичные методы
- isInit() - метод возвращает статус выполнения метода init, можно использовать для проверки полной загрузки функционала плагина
- setOff('string_jquery_selector') - метод используется для отключения плагина в продуктах в переданном списке во время(до) загрузки функционала плагина Пример: Необходимо отключить плагин для списка хитов, сам список хитов (контейнер) имеет класс .list-hits Для отключения нужно добавить в дополнительный js файл плагина (в настройках или в теме plugin.salesku.js) строку $.saleskuPluginProductsPool.setOff('.list-hits'); В качестве селектора принимается только родительский элемент списка продуктов(прим: ul#cat-list, .product-list тд.), контейнер в котором лежат блоки с продуктами (обычно ul, а блоки продуктов - li)
- setOn('string_jquery_selector') - метод отменяет отключение функционала установленное в методе setOff во время(до) загрузки функционала плагина, в плагине для некоторых тем установлено скрытие для некоторых списков по умолчанию из-за трудностей интеграции дизайна и конфликтов функционала, Вы можете отменить данное отключение по аналогии с setOff Пример: в списке хитов (.list-hits) плагин отключен, вы можете обратно включить плагин(отменить отключение), добавив строку $.saleskuPluginProductsPool.setOn('.list-hits'); В качестве селектора принимается только родительский элемент списка продуктов(прим: ul#cat-list, .product-list тд.), контейнер в котором лежат блоки с продуктами (обычно ul, а блоки продуктов - li)
- isOff('string_jquery_selector') - метод проверяет было ли установлено отключение плагина для списка продуктов в качестве аргумента jquery объект контейнера списка продуктов (родительский элемент списка продуктов(прим: ul#cat-list, .product-list тд.), контейнер в котором лежат блоки с продуктами (обычно ul, а блоки продуктов - li)) Пример: Список хитов (.list-hits), ранее его мог кто-то выключить через setOff, чтобы узнать установлено ли отключение в этом списке используйте проверку var hitsoff = $.saleskuPluginProductsPool.ifOff('.list-hits');// true, false
- on(jquery_obj) - метод включает функционал плагина в продуктах находящихся внутри переданного контейнера (jquery объект) желательно проверять прошла ли инициализация плагина методом isInit
- off(jquery_obj) - метод выключает функционал плагина в продуктах находящихся внутри переданного контейнера (jquery объект) желательно проверять прошла ли инициализация плагина методом isInit
- 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') плагин будет выключаться у продуктов
- 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') плагин будет ключаться у продуктов
- _bind(string_jquery_selector, action(click,change...) ,function) - метод добавляет bind элементу по селектору jquery с переданной функцией Инициализация всех биндов будет происходить в конце загрузки функционала плагина в методе init,
- _unbind: (string_jquery_selector, action(click,change...)) - метод удаляет установленный bind элементу через метод _bind Инициализация всех биндов будет происходить в конце загрузки функционала плагина в методе init, поэтому удаление биндов нужно ставить раньше выполнения init
saleskuPluginProduct
Объект отвечает за продукт в списке
Публичные методы:
- 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();// Скрываем все } }
- getElements() - Метод возвращает объект Элементов продукта (saleskuPluginProductElements)
- off() - Метод выключает функционал плагина в продукте и скрывает все данные плагина
- on() - Метод включает функционал плвгина в продукте
- setPrice(price:float) - Метод устанавливает цену на продукт
- setComparePrice(compare_price:float) - Метод устанавливает старую цену продукта или убирает ее, если передан false
0 comments