Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Ищу модуль или доработку за деньги. Цена доставки в зависимости от зоны в городе.


impulze100500
 Поделиться

Рекомендованные сообщения

Всем привет. Сайт доставки пиццы. Нужно связать цену доставки к адресу в городе. Стоит модуль Simple.

Нужно, чтобы было как тут примерно:

https://prontopizza.ua/vinnytsia/ru/

 

Искал модули не нашел, может кто-то сталкивался или готов реализовать такое за деньги. 

Ссылка на комментарий
Поделиться на других сайтах


Добрий день, вам потрібне геокодування від гугла (рекомендую, працює в 99% коректно) або в БД тримати всі вулиці і номери будинків з вартістю (варіант так собі). До сімпли можна виводити дані з БД або API якось так:

Прихований текст

image.png.c92c60ab3c11686041f7c2d2f52b14b1.png

 

Детальніше можна в пп

Ссылка на комментарий
Поделиться на других сайтах


13.11.2022 в 18:39, toporchillo сказал:

https://bitbucket.org/toporchillo/yandex-map-shipping-module-for-opencart/src/master/
 

Это вот этот модуль, правда Яндекс.Карты

 

В Україні використовувати Яндекс карти? Тож у більшості сторінка замовлення працювати не буде

 

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


13.11.2022 в 19:22, niger сказал:

В Україні використовувати Яндекс карти?

Показана идея.
Нарисовать полигон на карте
Проверить адрес на попадание в полигон
Достать стоимость доставки

Ссылка на комментарий
Поделиться на других сайтах

13.11.2022 в 19:49, chukcha сказал:

Показана идея.
Нарисовать полигон на карте
Проверить адрес на попадание в полигон
Достать стоимость доставки

Гарна ідея. Але колись таке робив теж, але потім перейшли на доставку кілометрами. у Google є API там є матриця дистанцій. Можна обирати параметри(траси використовувати чи ні, пешком чи авто) та налаштовувати. Вертає кількість метрів. І вже від дистанції рахували вартість. Бо так потім легше рахувати скільки кілометрів проїхав/пройшов курʼєр та скільки це коштувало для компанії. 

 

               const origin2 = {lat: ваш лат, lng: ваш лнг}; // тут ваші координати
                const destinationA = "Дніпро " + _this.street + ' ' + _this.building; // передаєте місто, а потім вулицю та дім -  які прийшлии від користувача


                const service = new google.maps.DistanceMatrixService();
                service.getDistanceMatrix(
                    {
                        origins: [origin2],
                        destinations: [destinationA],
                        travelMode: google.maps.TravelMode.DRIVING,
                        unitSystem: google.maps.UnitSystem.METRIC,
                        avoidHighways: false,
                        avoidTolls: false,
                    },
                    (response, status) => {
                        if (status !== "OK") {
                            console.log("Error was: " + status);
                        } else {
                            const originList = response.originAddresses;
                            const destinationList = response.destinationAddresses;
                            const distance = response.rows[0].elements[0].distance.value;
                         // вертати distance чи далі щось робити вирішуйте самі

                        }
                    }
                );

 

Изменено пользователем niger
Ссылка на комментарий
Поделиться на других сайтах


14.11.2022 в 11:24, niger сказал:

Вертає кількість метрів.

Ага, ехал по Львову - чтобы попасть во двор накрутили более 10км по наФигатору (а дворами - 500м)

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.