Реализация связанных списков "Цвет-размер"
Доброго времени суток. Некоторое время пытаюсь реализовать нетривиальную задачу: на странице размещается выпадающий список цветов товаров, при выборе цвета появляется второй выпадающий список, содержащий размеры товара этого цвета. Пусть есть 4 цвета, т.е. четыре выпадающих списка размеров. Из работы minishop, я понял, что список размеров должен быть вида
Т.е. нужно или придумать что-то со списками или переделать функцию, которая передает в корзину size, в связи с этим возникло два вопроса:
1) Возможно кто-то делал что-то похожее и сталкивался с этим?
2)Где найти функцию, которая передает в корзину размер товара?
<select name='options[size]'>
Таким образом, возникла проблема — списков четыре(или произвольное число) и они все не могут иметь одинаковое значение name. Т.е. нужно или придумать что-то со списками или переделать функцию, которая передает в корзину size, в связи с этим возникло два вопроса:
1) Возможно кто-то делал что-то похожее и сталкивался с этим?
2)Где найти функцию, которая передает в корзину размер товара?
Комментарии: 2
1. Списка всегда 2: цвет и размер. А вот значения у второго меняются в зависимости от первого — тут только свой javascript.
Чтобы получать значения размера в зависимости от цвета, где-то в админке нужно это указать — тут уж всё на твоё усмотрение. Можно написать собственное новое поле, можно задействовать ТВ параметры, даже MIGX — но где-то тебе нужно указать перечень цветов и размеры к ним.
2. Всё, что ты отправляешь в корзину через форму товара — можно получать в классе корзины. Если ты отправляешь
Класс корзины можно расширять и добавлять там свою логику по обработке добавления товаров. Заказ тоже можно изменить.
В общем, в MS2 всё решаемо, нужно только знать PHP и применять фантазию.
Чтобы получать значения размера в зависимости от цвета, где-то в админке нужно это указать — тут уж всё на твоё усмотрение. Можно написать собственное новое поле, можно задействовать ТВ параметры, даже MIGX — но где-то тебе нужно указать перечень цветов и размеры к ним.
2. Всё, что ты отправляешь в корзину через форму товара — можно получать в классе корзины. Если ты отправляешь
<select name='options[size]'>
<select name='options[color]'>
<select name='options[bla-bla]'>
То все 3 значения сохранятся в поле options автоматически.Класс корзины можно расширять и добавлять там свою логику по обработке добавления товаров. Заказ тоже можно изменить.
В общем, в MS2 всё решаемо, нужно только знать PHP и применять фантазию.
спасибо за развернутый ответ, как раз то, что искал.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.