Скрипт зміни виведення модифікацій

Як відомо, в InSales модифікації товару - це масив, що відноситься до товару, і модифікація визначається набором значень властивостей.

При розробці шаблону магазину це створює певні труднощі при розбивці лінійного списку модифікацій на по суті n-мірну матрицю вибору значень властивостей цієї модифікації. З наших стандартних темах ця розбивка проводиться всередині скрипта common.js, загального для всіх магазинів на платформі.

Щоб полегшити веб-майстрам це завдання, ми розробили новий скрипт, який розбиває масив модифікацій на матрицю властивостей, що працює як разом з common.js, так і окремо від нього і простий в налаштуванні.

На момент написання статті цей скрипт використовується тільки в одній з наших тем оформлення, а саме в темі Hi-Pink. вона ж "Тема радості".

Зокрема, щоб використовувати скрипт в стандартному виклику скрипта, що розбиває вибір модифікації на кілька select'ов можна вказати йому масив налаштувань:

var $ settings = <
template: <
span: 'Назва властивості, вибір якого вивести як span зі значенням',
radio: 'Назва властивості, вибір якого вивести як input type = radio',
color: 'Назва властивості, вибір якого вивести як кольоровий квадратик',
image: 'Назва властивості, вибір якого вивести зображенням з розділу Файли'
>,

firstOption: true, // якщо першої модифікації товару немає в наявності, то вибираємо першу по порядку, яка в наявності
>;

var product =>;
var selector = new OptionSelectors ( 'variant-select', , settings: $ settings, callback: selectCallback>);