Як відомо, в InSales модифікації товару - це масив, що відноситься до товару, і модифікація визначається набором значень властивостей.
При розробці шаблону магазину це створює певні труднощі при розбивці лінійного списку модифікацій на по суті n-мірну матрицю вибору значень властивостей цієї модифікації. З наших стандартних темах ця розбивка проводиться всередині скрипта common.js, загального для всіх магазинів на платформі.
Щоб полегшити веб-майстрам це завдання, ми розробили новий скрипт, який розбиває масив модифікацій на матрицю властивостей, що працює як разом з common.js, так і окремо від нього і простий в налаштуванні.
На момент написання статті цей скрипт використовується тільки в одній з наших тем оформлення, а саме в темі Hi-Pink. вона ж "Тема радості".
Зокрема, щоб використовувати скрипт в стандартному виклику скрипта, що розбиває вибір модифікації на кілька select'ов можна вказати йому масив налаштувань:
var $ settings = <
template: <
span: 'Назва властивості, вибір якого вивести як span зі значенням',
radio: 'Назва властивості, вибір якого вивести як input type = radio',
color: 'Назва властивості, вибір якого вивести як кольоровий квадратик',
image: 'Назва властивості, вибір якого вивести зображенням з розділу Файли'
>,
firstOption: true, // якщо першої модифікації товару немає в наявності, то вибираємо першу по порядку, яка в наявності
>;
var selector = new OptionSelectors ( 'variant-select',