[Ищу] Модуль доставки по регионам

Тема в разделе "OpenCart", создана пользователем Димаська, 2 июл 2015.

  1. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    необходим модуль, который бы мог определять по ip регион и соответствующую минимальную сумму заказа определял для пользователя и соответствующую стоимость доставки, если меньше этот минимальной суммы для бесплатной доставки.

    подскажите пожалуйста есть ли такое чудо у кого-нибудь?
     
  2. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Может делать через Google API и в зависимости от региона предлагать нужную доставку и оплату.
    Доставку и оплату делаете через географические зоны, как обычно.

    Например, если покупатель с зоны 1 (в которую входят такие-то регионы), то ему показывается доставка 1 с ценой в 200 рублей.
    Если зона 2 у него, то ему показывается доставка 2 с ценой в 300 рублей.
    И т.д.

    Можно конечно поискать такой модуль и настроить его потом, но я думаю, что вручную можно сделать быстрее...
    Я реализовывал это, но по немного другой логике. Не долго...
     
  3. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    skiv14, подскажите как это реализовать через гугл апи? буду очень признателен
    --- Добавлено, 2 июл 2015 ---
    я создал две зоны, до урала и за уралом...и теперь мне бы их как-то связать с пользователями
     
  4. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    С гуглом не подскажу, не разбирался. Я просто завязал зоны на доставки и оплаты и всё.

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

    Например, регится человек с Барнаула - ему показывается одни способы доставки и оплаты, если с Москвы - другие...

    По факту, я сделал 3 зоны. Поправка - я из Иваново.
    1) Зона Иваново - самовывоз, доставка курьером, оплата при получении.
    2) Близлежайшие регионы (тут Иваново, Кострома, Ярик, Владимир, Москва, Нижний) - тут самовывоз, доставка транспортной компанией, оплата при получении, оплата безналом разными способами.
    3) Вся Россия - (тут все регионы вообще) - тут транспортные компании, оплата безналом.

    Т.е. создаёте нужное количество зон. И потом привязываете к этим зонам доставки и оплаты.
    С доставкой всё просто - у самовывоза, например, указываете зону - близлежайшие регионы. У доставки курьером - только регион проживания. У ТК - вся Россия.
    С оплатой также.
     
  5. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    эм...а можно создать для разных зон разную наценку на доставку и минимальный заказ?...что-то я туплю и торможу очень...
     
  6. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Конечно можно.
    Когда настраиваешь доставку и оплату, выбираешь зону для которой она будет действовать.
     
  7. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    ну тут дело в том что у меня цель выставить одну и ту же доставку в разных географических зонах и в зависимости от зоны формировать бесплатную доставку и наценку на заказ менее минимальной суммы
    --- Добавлено, 3 июл 2015 ---
    вот грубо говоря необходимо сделать 2 фиксированных доставки и 2 бесплатных доставки и привязать их к географическим зонам
     
  8. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    В чём проблема ?
    Делаете бесплатную доставку, указываете для неё зону.
    Делаете платную доставку, указываете для неё другую зону. При необходимости - повторить.

    Или делаете клоны или вот модуль есть

    Я сам клонами справляюсь.
     
  9. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    Fatal error: Class 'Controllershippingfree2' not found in /var/www/accent/data/www/accent.kypitsite.ru/system/modification/system/engine/action.php on line 62

    эта ошибка при включении клона
     
  10. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Ни разу не было проблем. Проверьте, всё ли скопировали. Все ли файлы.
    Если переименовывали папку admin, то надо в файлах клона переименовать их.

    Если не получится - удалите файлы клона, выложу свои, которыми пользуюсь. Там уже несколько настроено на транспортные компании, может тоже пригодится.
     
  11. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.054
    Симпатии:
    779
    При создании клона любого модуля, нужно менять не только название файла, но и название класса в этом файле. Скорее всего, вы название файла сменили, а название класса - нет.
     
  12. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    Dotrox, да скорее весго так оно и есть. а где это поменять и на что?
     
  13. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Димаська, ну если название файла было dost, а переименовали Вы файл в dostavka, то в notepad++ сделайте поиск по файлам этого модуля по слову dost. Ниже в строке поиска пропишите, что заменять надо на dostavka.

    И всё само переименуется.

    http://gyazo.com/126833ab3be29181cfd72582b53ad7d5
     
    Последнее редактирование: 5 июл 2015
  14. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    я просто приписал цифру 2

    это нужно в файлах контроллера менять?
     
  15. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    412
    Симпатии:
    159
    Ну у Вас во всём коде фигурируют файлы без этой цифры.
    Если изменили название файла, то и в коде меняйте это название.
     
  16. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.054
    Симпатии:
    779
    В файле должна быть строка
    PHP:
    class Controllershippingfree {
    Она первая после открывающего тега php. Вот здесь и нужно менять название.
    А менять в соответствии с тем, как менялось название файла. Если добавилась цифра 2 в конце, то и здесь её добавить.
     
  17. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    Dotrox, а то что написал skiv14 тоже необходимо проделать?
     
  18. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.054
    Симпатии:
    779
    Да, но не в слепую. Там название может быть в разных формах, например, shipping_free. Так что нужно посмотреть, какие варианты оригинального названия есть в конкретном файле и заменить их на свой в той же форме. И следить, чтоб не затереть остальные части текста: например, там может быть config_shipping_free, оно должно превратиться в config_shipping_free2.
     
  19. Димаська

    Димаська

    Регистрация:
    13 май 2015
    Сообщения:
    134
    Симпатии:
    33
    так мне нужно поменять все? или только где оно просто free или находится в конце текста? или если free_status оно находится вначале тоже нужно изменять?
     
  20. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.054
    Симпатии:
    779
    Нужно менять во всех местах, где есть вхождение названия модуля. Если модуль называется ShippingFree, то просто free - это не вхождение названия. Нужно чтоб были оба слова и в том же порядке, но регистр символов и разделитель между словами (или его отсутствие), а также дополнительные слова перед или после - значения не играют.