Доработать сайт на VirtueMart в части ценообразования

Бюджет: по договоренности
Есть доработанная база. Необходимо, чтобы цены расчитывались из новых колонок согласно новым правилам.

Задачи по сайту:
1. Обеспечить, чтобы цена доставки бралась из поля `y8flq_virtuemart_product_prices`.`product_shipping_price`(Цена доставки товара). Цены складываются при покупке.
2. Обеспечить систему скидок и бонусов.(Работает если override_flag = 1)
2.1 Если покупатель выбрал 2й товар того же поставщика, что и 1й(поле поставщика `y8flq_virtuemart_product_prices`.`product_price_supplierid`, то цена продажи должна указываться
`y8flq_virtuemart_product_prices`.`product_shipping_price2`(Цена со скидкой 2), если она присутствует и не равна
другим ценам(`y8flq_virtuemart_product_prices`.`product_price`(Основная цена), `y8flq_virtuemart_product_prices`.`product_override_price`(Цена со скидкой 1)). Соответсвтенно предыдущая цена – будет перечеркнута. То же происходит и с ценой доставки ( `y8flq_virtuemart_product_prices`.`product_shipping_price2`, `y8flq_virtuemart_product_prices`.`product_shipping_price`). То есть измениться может как цена товара, так и цена доставки, что тоже должно быть отражено перечеркиванием. Если `y8flq_virtuemart_product_prices`.`product_shipping_price2` нет, то и цена доставки остается прежняя.
2.2 Так же покупателю зачисляются бонусы при выборе товара(бонусы хранятся, но не показываются). При покупке бонусы сохраняются в базе. Если товар покупается по пункту 2.1, то из поля `y8flq_virtuemart_product_prices`.`product_bonuses2`, в остальных случаях – из поля `y8flq_virtuemart_product_prices`.`product_bonuses`.
Алгоритм начисления бонусов:
Если при выборе товара у покупателя ненулевой баланс бонусов, тогда берется текущая цена, от нее отнимается сумма бонусов, далее в таблице `likeshop`.`y8flq_virtuemart_product_add_discount` находится минимальная цена, не меньшая, чем получившаяся цена с учетом бонусов. Если такая запись есть – эта запись будет текущей записью продажи. Если нет – то то оставляем предыдущую запись, бонусы не расходуются. Цена доставки не меняется.
3. Если при выборе товара оказались товары с ценой. отличной от цены сайта, то нужно уведомить об этом пользователя, что есть товары по акции для данного заказа и при подтверждении пользователя, отобразить их.
4. Товары, у которых цена товара или доставки отличаются, должны быть выделены каким-то образом(значком "Акция!", восклицательным знаком).

Подробности в личку или в skype. Прошу простить, но выхожу на связь вечерами ненадолго, серьезно обсудить получится в выходные. В другое время готов переписываться.
Опубликован 18.12.2016 в 21:39 Последнее изменение: 04.01.2017 в 15:21

Выберите способ верификации:

Обновите страницу после прохождения верификации.