Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Поддержка] CityManager (Определение города по IP, Geo IP)


Recommended Posts

Всем привет,

Подскажите как добавлять в базу, Украину и Белоруссию ?

 

В последней версии есть 2 архива Russia.zip и Ukraine.zip соответственно с городами России и Украины, нужно выполнить все sql в них.

Беларуссии нет пока, можно сделать, просто никто не интересовался.

 

Если сделаете будет замечательно.

Жду.

Link to comment
Share on other sites


Добавил базу населенных пунктов Белоруссии. К сожалению, определение по IP для них не работает, только РФ и Украина.

Link to comment
Share on other sites

Клиент попросил установить на сайт этот модуль. Купил. 

Я еще не проверял как все работает и нормально ли определяет регион. Но после установки могу сказать одно - это наверное худший модуль из всех, что я устанавливал.. Потратил больше 2-х часов пока его установил.. 

 

1. Нажимаю Скачать вижу кучу файлов не понятно что именно качать, скачал все, думаю где-то в архиве должна быть инструкция какой файл зачем нужен. Нету.

2. Начал устанавливать. В инструкции по установке нужно вручную править около 10 файлов! Ну неужели нельзя было сделать vqmod файл?!

3. Потратил кучу времени пока все отредактировал. 

4. Настроил, запускаю.. ничего не работает. Открываю отладчик в хроме и вижу что при поиске нас. пункта скрипт ломится по адресу домена хотя сайт у меня установлен в подпапке - домен/new 

5. Открыл другую вкладку в хроме, прописал путь для скрипта, запускаю.. ошибка - таблица fias не найдена. Где в инструкции написано что ее нужно установить?

6. В модуле целая куча sql скриптов что устанавливать не понятно.

7. Почему этот процесс не автоматизировать? Почему не добавить в модуль установщик, который автоматически установит все необходимые таблицы? Почему я должен вручную устанавливать какие-то таблицы? А если у меня на сайте нету доступа к phpmyadmin?

8. Решил сделать архив базы, перенести на локалхост и тут все загрузить.. Но не тут то было.. таблица fias_ru 24 метра! phpmyadmin вообще отказывался такой файл загружать.. Начал искать какие настройки в php.ini поменять чтобы загрузить файл. Нашел. Поменял. Загружаю.. процесс продолжается минуты 2.. после чего все виснет и после перезагрузки вижу что загрузилось процентов 10. Попробовал несколько раз повторить - то же самое.. 

9. Начинаю гуглить как загрузить большие таблицы в mysql. Нашел, можно через командную строку. Наконец загрузил.

10. Перенес базу обратно на сайт.

11. Запускаю. При поиске ошибка: Notice: Error: The SELECT would examine more than MAX_JOIN_SIZE rows; 

Снова головоломка.. Решил добавив в скрипт поиска $this->db->query("SET SQL_BIG_SELECTS=1");

12. Запускаю, работает. Но ищет по адресу домена, а не из папки new, где сайт установлен..

13. Начинаю искать в коде где все прописано. Нашел. Заменил $this->data['host'] = 'http://' . $this->request->server['HTTP_HOST']; на $this->data['host'] = HTTP_SERVER;

Заработало..

 

Короче на установку модуля убил больше 2-х часов..  

  • +1 1
Link to comment
Share on other sites

  • 5 weeks later...

Вах!

Жаль видео с комментами не снимал, но читал как детектив. 

Тема с заменой кучи файлов тоже не улыбается, simple коряво поддерживается... воздержусь пока от покупки.

Link to comment
Share on other sites

  • 2 weeks later...

Здравствуйте! Подскажите как с помощью модуля можно сделать изменение номера телефона и адреса при смене города?

Если я приобрету можно это возможно реализовать?

Link to comment
Share on other sites


Сейчас только вручную, нужно будет прописать что-то вроде:

$geoip = $this->registry->get('geoip');

// Москва
if ($geoip->getZoneId() == 2761) {
    $text = 'Текст для Москвы';
}
// Санкт-Петербург
elseif ($geoip->getZoneId() == 2785) {
    $text = 'Текст для Санкт-Петербурга';
}
...

Но планирую реализовать, чтобы можно было задавать через админку.

Link to comment
Share on other sites

Купил модуль.

Но не получилось вставить в нужное место код указаный выше

Он не передает никакой информации

 

И как сделать например, номер для России и для ставропольского края? Как менять край?

Link to comment
Share on other sites


Для Ставропольского края 2786

// Ставропольский край
if ($geoip->getZoneId() == 2786) {
...
}

Код выше лишь для примера. Вам нужно переделать его под вашу ситуацию.

Link to comment
Share on other sites

Какая-то неразбериха с городами и регионами... пишет "Санкт-Петербург, Санкт-Петербург" - зачем?

Плюс к тому, при автоопределении пишет сначала просто "Петрозаводск", а если потом через поиск выбрать г. Петрозаводск, то уже начинает писать "г. Петрозаводск"

Link to comment
Share on other sites


  • 1 month later...

Какая-то неразбериха с городами и регионами... пишет "Санкт-Петербург, Санкт-Петербург" - зачем?

Плюс к тому, при автоопределении пишет сначала просто "Петрозаводск", а если потом через поиск выбрать г. Петрозаводск, то уже начинает писать "г. Петрозаводск"

 

Исправил в 3-й версии

Link to comment
Share on other sites

Опубликовал новую версию модуля.

 

Основное отличие - возможность вывода информации в зависимости от местоположения (геосообщения). Можно выводить, например, разные телефоны, информацию о доставке или акциях для разных городов, регионов или стран.

 

Также добавил автоматический установщик БД, теперь не нужно заливать таблицы в базу через phpmyadmin или подобное.

Link to comment
Share on other sites

Добрый день, у меня следующая ошибка после установки:

"Notice: Use of undefined constant TAMBOV_IP - assumed 'TAMBOV_IP' in /var/www/user/data/www/МОЙ ДОМЕН/system/library/geoip.php on line 319Notice: Error: Table 'user_ДОМЕН.fias' doesn't exist
Error No: 1146
SELECT f1.postalcode f1_postalcode, CONCAT(f1.shortname, ' ', f1.offname) f1_name, f1.level f1_level, f1.fias_id f1_fias_id, CONCAT(f2.offname, ' ', f2.shortname) f2_name, f2.level f2_level, f2.fias_id f2_fias_id, CONCAT(f3.offname, ' ', f3.shortname) f3_name, f3.level f3_level, f3.fias_id f3_fias_id FROM fias f1 LEFT JOIN fias f2 ON f2.aoguid = f1.parentguid LEFT JOIN fias f3 ON f3.aoguid = f2.parentguid LEFT JOIN fias f4 ON f4.aoguid = f3.parentguid WHERE f1.offname = 'РњРѕСЃРєРІР°' AND (f3.offname = 'Р РѕСЃСЃРёСЏ' OR f2.offname = 'Р РѕСЃСЃРёСЏ' OR f4.offname = 'Р РѕСЃСЃРёСЏ') AND (f1.level = 4 OR (f1.level = 1 AND f1.shortname = 'Рі.')) in /var/www/user/data/www/ДОМЕН/system/database/mysql.php on line 49"

 

папка preinstall до конца не устанавливается - виснет и все.

Link to comment
Share on other sites


Выложил исправленный вариант.

 

Можете не скачивать, просто удалите в 319 строке константу TAMBOV_IP, идущую вторым параметром.

Link to comment
Share on other sites

Выложил исправленный вариант.

 

Можете не скачивать, просто удалите в 319 строке константу TAMBOV_IP, идущую вторым параметром.

 

Я все же решил скачать исправленный вариант, но папка prinstall по-прежнему не устанавливается - останавливается на определенном моменте (скрин прилагаю). Как быть с этим? 

 

f96205d53708.png

Link to comment
Share on other sites


Скиньте в личку адрес сайта, нужно посмотреть.

Link to comment
Share on other sites

Обновил.

На 3-м шаге установка работает секунд 20 - это нормально, всего где-то 30-35.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.