Магазин Битрикс. Малый Бизнес.

Сайт prokoni - shop . ru

Верстка на нашей стороне, тесты на нашей стороне. Мне нужна только реализация описанной логики.

Логика работы:

Общее:

- создаем инфоблок-каталог с городами и способами доставки - cities (таблица есть, пришлю)

- создаем инфоблок-каталог с пунктами самовывоза - self_point

- таблицу служб доставки, способов оплаты - используем стандатные Битриксовые

- для пользователя создаем новые поля "Город" и "Область". Хотя, они вроде уже есть там

на сервере, формирование страницы "оформление заказа":

1) берем из БД все службы доставки (всего 11 записей) - оно ведь в в виде

массива?; используя встроенную логику проверяем наличие скидок на

доставку (которые применяются по стоимости заказа, кол-ву товаров и

т.п.) и проставляем в этом массиве цены уже со скидкой на доставку

2) берем из БД все платежные системы (всего 11 записей) - тут ведь тоже просто массив с инфой и комиссиями

3) формируем итоговую таблицу user_order_info, в которой такие поля (в ней будет не больше 11*11=121 записей):

bitrix delivery ID; bitrix pay ID; price; pay comission

как вы понимаете, мы сюда bitrix pay ID подгружаем не все подряд, а уже только те, которые подходят для способа доставки

4) берем профили покуателя (последние 5; только ИД, ФИО, адрес, емейл,

телефон, область, город; и если там это хранится, то ещё: ид зоны, ид

доставки, ид оплаты) (profiles)

5) берем состав заказа, корзину (cart)

6) берем из БД из инфоблока cities нашу таблицу соответствий города-способы доставки

7) отдаем на страницу данные из описанных выше пунктов, только из этих: 1, 3, 4, 5, 6

эти данные из пункта 7 вряд ли превысят пару килобайт.

Пишу для информации, что будет происходить на странице - ЭТО РЕАЛИЗОВАТЬ НЕ НАДО, это сделает fron-end разработчик:

1) в JS имеем 4 массива: user_order_info, profiles, cart, cities

2) выводим названия профилей в список из profiles, заполняем поля по данным последнего профиля

3) выводим список городов из cities в виде 2х выпадающих списков "область", "город". Если в профиле был город - выбираем город

4) выводим состав заказа, цены и т.п. (cart)

5) когда выбран город - выводим доступные способы доставки (из таблицы

user_order_info берем цену, а по id подставляем название службы и

описание из Битриксовых таблиц); показываем цену и общую сумму заказа

6) когда выбран способ доставки - показываем доступные способы оплаты (из

таблицы user_urder_info берем комиссию платежной системы, если есть, а

по id добавляем название/описание из Битриксовой таблицы со способами

оплаты); показываем общую сумму заказа. Не забываем, что если выбран "в

кредит" нужно показать кнопку оплаты в кредит (надо глянуть, какая там

логика)

7) когда нажимает "оформить заказ" - отдаем Битриксу все данные о заказе

с его стандартными id: состав, службы оплаты/доставки и

т.п.

и отдельный пункт (реализовать ТОЛЬКО СЕРВЕРНУЮ ЧАСТЬ): если выбран "самовывоз из пунктов выдачи" (я дам id этих служб доставки), мы в форме

заказа ещё дополнительно показываем кнопку "выбрать пункт выдачи" и вот

если её кликают - только в этом случае мы делаем 1 ajax-запрос и

подгружаем из таблицы self_point информацию о пунктах выдачи При

оформлении заказа эот "пункт выдачи" должен уйти в какое-нибудь

пользовательское поле, которое будет видно в Заказах всем.

На выходе нужен новый кастомный шаблон/компонент.

Моя оценка: 4-5 часов опытного разработчика (1000р./час). Если по факту уйдет меньше или больше времени - будем ориентироваться на фактическое затраченное. Задачи часто возникают, возможно продолжение сотрудничества.

9 лет назад
voice-msk
Алексей 
36 лет
12 лет в сервисе
Был
7 лет назад

Заявки фрилансеров

Нет заявок фрилансеров