Формирование нескольких заказов в miniShop2
Всем привет.
Помогите пожалуйста, мне необходимо формировать несколько заказов. На сайте есть партнеры (использую производителей) Мне нужно, когда пользователь покупает услуги/товары у разных партнеров, то это разные заказы. Каждому партнеру по заказу.
Например:
Товар1 — Партнер1
товар2 — партнер2
Товар3 — Партнер1
Будет два заказа:
Партнер1 — Товар1 и Товар3
Партнер2 — Товар2
Я добавил свой класс и делаю extend msOrderHandler. Использую метод submit.
Мой код сейчас формирует несколько заказов, НО приходится нажимать оформить заказ 2 раза (если 2 партнера)
Вот код, но там пока не реализована сумма заказа.
P.S. в PHP я не профи, но стараюсь :)
Помогите пожалуйста, мне необходимо формировать несколько заказов. На сайте есть партнеры (использую производителей) Мне нужно, когда пользователь покупает услуги/товары у разных партнеров, то это разные заказы. Каждому партнеру по заказу.
Например:
Товар1 — Партнер1
товар2 — партнер2
Товар3 — Партнер1
Будет два заказа:
Партнер1 — Товар1 и Товар3
Партнер2 — Товар2
Я добавил свой класс и делаю extend msOrderHandler. Использую метод submit.
Мой код сейчас формирует несколько заказов, НО приходится нажимать оформить заказ 2 раза (если 2 партнера)
Вот код, но там пока не реализована сумма заказа.
P.S. в PHP я не профи, но стараюсь :)
Здесь был код :)Спасибо! Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Пока понял только то, что я в цикле, а не после его выполнения, из-за этого приходится несколько раз нажимать оформить заказ.
На одном из проектов решена подобная задача. Алгоритм вкратце:
1) Расширен класс заказа
2) Родной submit() переименован в _submit()
3) Создан новый submit(), который разделяет корзину на несколько по необходимой логике (cart->get(), затем разбиение на несколько разных массивов, после чего в цикле cart->set() для каждого)
4) В цикле для каждого полученного массива корзины вызывается _submit().
Сейчас после оформления заказов формируются след. вида ссылки: domain.ru/cart?msorder=23,24.
Просто нужно скопировать сниппет msGetOrder и немного его переделать :)