|
0 / 6 / 0
Регистрация: 10.04.2016
Сообщений: 66
|
|
Логика для корзины интернет-магазина24.04.2016, 02:40. Показов 3508. Ответов 22
Доброго времени суток, уважаемые знатоки. Подскажите пожалуйста, как по вашему лучше реализовать идею? Есть ИМ, где необходимо, чтобы товар имел свойства, такие как размеры, тип управления и т.п. Т.е. есть материал со стоимостью погонного метра и свойства изделия, которые будет выбирать пользователь. Вот пример: Рулонная штора, цена за погонный метр 4000 р, id в базе 25, клиент выбрал свойства : Ширина: 504 мм, Высота:1297 мм, Управление: слева, Высота управления: 1296 мм. В типовых ИМ корзина реализована таки образом, при нажатии кнопки купить = создается сессия и в сессию летит массив (id=>amount) т.е. идентификатором выступает id. У меня же товар с любым отличным свойством = по сути новый товар, поэтому если изменился хоть один из параметров, например высоту поменяли на 1400 мм, то в корзину должен улететь еще один товар. Что в данном случае использовать в качестве уникального идентификатора? Я думаю использовать хэширование для всех свойств, т.е. переводить в md5 и использовать его в качестве ключа для пары (md5 ключ=> amount). Как вы думаете на счет этого? Или тупо лепить стринг из свойств в качестве ключа? Слишком длинно выходит... Главное что далее будет сравнение = если добавили в корзину товар с таким же идентификатором, значит идет увеличение колличества (amount), если же идентификатор другой = добавляем новый товар.
0
|
|
| 24.04.2016, 02:40 | |
|
Ответы с готовыми решениями:
22
Пример корзины магазина Парсер для интернет магазина Корзина для интернет магазина |
|
0 / 6 / 0
Регистрация: 10.04.2016
Сообщений: 66
|
|
| 24.04.2016, 14:13 [ТС] | |
|
Darevill, а подскажите пожалуйста как вы реализовывали доступные для вызова свойства товара, в БД пихали к каждой категории, с возможностью изменить из админки? Или на фронте на jquery лепили на лету в зависимости от категории??
Добавлено через 3 минуты полудух, Вы же взрослый человек, ваше самолюбие не бьет, что при первом же аргументе вы сливаетесь как маленький мальчик? Чувство же достинства какое-то должно быть?!
0
|
|
|
67 / 60 / 25
Регистрация: 05.05.2009
Сообщений: 131
|
|
| 24.04.2016, 14:34 | |
Сообщение было отмечено santaatnas как решение
Решение
Все параметры лежат в базе с возможностью добавления новых и редактирования старых.
Например, если речь о солнцезащитных системах, то клиент может выбрать цвет короба и цепочек, тип системы - открытая/закрытая и т.д. Все эти параметры хранятся в одной таблице, их возможные значения - в другой, а в третьей - доступные для каждого товара варианты этих значений. На странице товара выводятся форма, в которой есть select-ы для выбора нужных параметров и 2 поля для ввода размеров. Когда клиент нажимает "Положить в корзину", все значения из формы собираются и отправляются AJAX запросом на сервер, где уже из них собирается ключ и товар со всеми выбранными параметрами добавляется в сессию. Дополнительно у параметров может быть проставлена своя цена, которая будет добавляться к общей стоимости изделия. То есть цена изделия будет состоять из стоимости материала, рассчитанной по размерам + стоимость каждого выбранного параметра + доставка и установка + ещё что-то, если есть. Доставку и установку, кстати, тоже можно добавить как параметр со своей ценой, тогда система будет универсальной и в неё можно будет добавить любые дополнительные фишки через параметры.
1
|
|
|
0 / 6 / 0
Регистрация: 10.04.2016
Сообщений: 66
|
|
| 24.04.2016, 14:37 [ТС] | |
|
Darevill, Спасибо, за подробный ответ, очень приогодилось.
0
|
|
| 24.04.2016, 14:37 | |
|
Помогаю со студенческими работами здесь
23
Поиск для интернет-магазина Написание ПП для интернет магазина Создание админки для интернет-магазина Нужна корзина для интернет-магазина, на заказ Нужен партнёр для разработки интернет-магазина Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|