Доработка плагинов WP

900 руб.за час
10 июля 2020, 11:05 • 5 откликов • 40 просмотров
Имеем сайты bebopburgers.ru rocksteady.pizza. Dev система - dev.bebopburgers.ru

Сайты интегрированы с IIKO посредством кастомизированного плагина woo to iiko

Ищу нового разработчика для доработки проекта.

На данный момент задачи:

ТЗ по следующему этапу:

РАБОТА С API (плагин WOO-TO-IIKO, все изменения прямо в нем):

1. Заменить на странице https://bebopburgers.ru/checkout/ поле "Способ получения *" на кнопки (вместо select)
В случае самовывоза Остаются только поля Имя, телефон, время доставки, Примечание. Для доставки также остальные поля. Формируется вывод скриптом Plugins/woo-to-iiko/includes/wc_checkout.php.
2. Проверить (и в случае чего исправить) валидацию - для самовывоза обязательны номер телефона и имя, для доставки также улица и дом. Скрипт валидации и скрытия полей формы - вроде как_ Plugins/woo-to-iiko/includes/export/checkout-js.php_
3. Plugins/woo-to-iiko/includes/wc_checkout.php/export/exportorder.php - строка 374 "coupon" => - должен передавать в API текущий примененный купон.
НАпример на странице корзины он легко выводится следующей конструкцией:
global $woocommerce;

if ( ! empty( $woocommerce->cart->applied_coupons ) ) {
$my_coupon = $woocommerce->cart->get_coupons() ;
foreach($my_coupon as $coupon){

if ( $post = get_post( $coupon->id ) ) {
if ( !empty( $post->post_excerpt ) ) {
echo $coupon->code;
echo "</br>";
echo $post->post_excerpt;
}
}
}
}
Соответственно в coupon надо записать вывод echo $coupon->code; (сам провобовал - все сломал, я не знаю php :)
4. На странице https://bebopburgers.ru/checkout/order-received в поле "Номер заказа:
11428" надо выводить информацию из ответа API - строку "number": "5161",
5. На той же странице надо добавить поле "Статус заказа" и выводить туда информацию из поля "status": "Новая", "statusCode": "NEW", . Можно дергать API, наверное, через AJAX с этой страницы раз в 30 секунд и при загрузке страницы. Грубо говоря - если пользователь закрыл ее, то и API дергать не надо.
Как дергать API зная ID заказа можно прочести в документации

РАБОТА С ЗОНАМИ И СТОИМОСТЬЮ ДОСТАВКИ:
1. Запихнуть сделанное в плагин
2. Настроить автоматическое формирование KML файла и его загрузку из интерфейса по ссылке на карту. Как лайт-вариат - достаточно будет просто поля "загрузить KML" в админке
3. Усложнить работу алгоритма - теперь минимальная сумма и стоимочть доставки должна формироваться для каждого полигона. В идеале в бэкенде кнопка "загрузкить зоны". имена зон брать из KML файла. После загрузку зон возможность ввести в поля рядом с ними минимальную сумму беслпатной доставки и стоимость доставки.
Например - для района северный минимальная сумма - 1200, стоимость 240. Для района "Центр" - сумма 900, стоимость 140 и т.п.
4. Сделать вывод условий доставки на странице https://bebopburgers.ru/checkout/order-received под блоком "ваш заказ"

РАБОТА С ИНТЕРФЕЙСОМ
1. Сделать так, чтобы верхнее меню на мобильных скроллилось вместе с контентом (как у яндекс еды, додо и т.п.). Сейчас оно просто hover отрабатывает по якорям, а мне надо, чтобы оно прокручивалось.

КОНСТРУКТОР ПИЦЦЫ

сейчас пиццы у нас представляют из себя отдельные блюда с отдельным набором модификаторов (т.е. пицца 30, 45, 60 см это разные блюда). Я хотел бы, чтобы на одно наименование была 1 карточка пиццы (как это реализовано у ДОДО) и пользователь мог выбирать размер уже в самой карточке. Встроенные механизмы WOO (вариации) не подходят, т.к. не дают возможность выбора дополнительных ингридиентов.
Я вижу, что этот вопрос можно решить " костылем" в интерфейсе - делаем одну "виртуальную" карточку товара, при нажатии на которую получаем модальное окно, аналогичное обычному продукту. В верхней части окна, как и у додо, кнопки "большая, средняя, маленькая". ПО нажатию на эти кнопки мы просто подгружаем данные товаров пицца 30, пицца 45, пицца 60 изменяющие данные внутри модалки.