Реализация связанных списков "Цвет-размер"

Доброго времени суток. Некоторое время пытаюсь реализовать нетривиальную задачу: на странице размещается выпадающий список цветов товаров, при выборе цвета появляется второй выпадающий список, содержащий размеры товара этого цвета. Пусть есть 4 цвета, т.е. четыре выпадающих списка размеров. Из работы minishop, я понял, что список размеров должен быть вида
<select name='options[size]'>
Таким образом, возникла проблема — списков четыре(или произвольное число) и они все не могут иметь одинаковое значение name.
Т.е. нужно или придумать что-то со списками или переделать функцию, которая передает в корзину size, в связи с этим возникло два вопроса:
1) Возможно кто-то делал что-то похожее и сталкивался с этим?
2)Где найти функцию, которая передает в корзину размер товара?
Sindi Bober
06 января 2014, 22:52
modx.pro
1 878
0

Комментарии: 2

Василий Наумкин
07 января 2014, 09:12
1
0
1. Списка всегда 2: цвет и размер. А вот значения у второго меняются в зависимости от первого — тут только свой javascript.

Чтобы получать значения размера в зависимости от цвета, где-то в админке нужно это указать — тут уж всё на твоё усмотрение. Можно написать собственное новое поле, можно задействовать ТВ параметры, даже MIGX — но где-то тебе нужно указать перечень цветов и размеры к ним.

2. Всё, что ты отправляешь в корзину через форму товара — можно получать в классе корзины. Если ты отправляешь
<select name='options[size]'>
<select name='options[color]'>
<select name='options[bla-bla]'>
То все 3 значения сохранятся в поле options автоматически.

Класс корзины можно расширять и добавлять там свою логику по обработке добавления товаров. Заказ тоже можно изменить.

В общем, в MS2 всё решаемо, нужно только знать PHP и применять фантазию.
    Sindi Bober
    07 января 2014, 10:41
    0
    спасибо за развернутый ответ, как раз то, что искал.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2