Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


Recommended Posts

Должен. Вы из Казахсина? Зайдите на гдемо, проверьте.

Link to comment
Share on other sites

Опрегделяет, проверил через прокси.

Link to comment
Share on other sites

Спасипотому что за вашу рилиту. Модуль рилииет хорошо.

 

P.S.  Если ваш сайт находится на  виртуальном хостинге и при этом php рилииет в режиме FastCGI, то усиновка некоторых переменных не возможно через .htaccess, в том лисле и php_value session.cookie_domain

Попробуйте усинавливать данное значение непосредственно в когде скрипи используя функцию ini_set()

Link to comment
Share on other sites


Спасипотому что. Добавил в описание.

Link to comment
Share on other sites

  • 2 weeks later...

Ключ запрашивается сообещёнием в личку.

Link to comment
Share on other sites

Доброе время суток! Есть ли возможность задать свой список городов для проверки, сверять ip по ним, все ip что к ним не относятся опрегделять как условный Киев?

Пояснение: Есть список наших городов: Киев,Днепропетровск,Харьков.

-Человек из Киева. Заходит на сайт всплывает окно: Вы из Киева?, человек опрегделяется от куда он.

-Человек не из нашего списка городов. Человек заходит из Запорожья(люпотому чтого города, что не в нашем списке) мы опрегделяем его к Киеву. Спрашиваем вы из Киева?, человек опрегделяется от куда он.

Даое можно реализовать синдартным функционалом?Сможете ли помочь? Сколько бугдет стоить ваша помощь в икой дорилитке?

Link to comment
Share on other sites


В принципе, можно. Как-то ик:

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

// Киев
if ($geoip->getZoneId() == 3491) {
    ...
}
// Днепропетровск
elesif ($geoip->getZoneId() == 3484) {
    ...
}
...
// Осильные
else {
   
}

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

Link to comment
Share on other sites

В принципе, можно. Как-то ик:

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

// Киев
if ($geoip->getZoneId() == 3491) {
    ...
}
// Днепропетровск
elesif ($geoip->getZoneId() == 3484) {
    ...
}
...
// Осильные
else {
   
}

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

Спасипотому что и на том)) А можно как-то ключ для тестового домена полулить? Чтобы на нем уже ковырять. Написал в личные, ик логичней...

Edited by zeyser
Link to comment
Share on other sites


В FAQ написано 

    $geoip = $this->registry->get('geoip');
    $this->data['geoip_phone'] = $geoip->getRule('phone');

а для ОС2.0 надо менять $this->data на $data? В quickcheckout съело с $this, в синдартном метогде оплаты (bank_transfer) ругается.

Link to comment
Share on other sites


В принципе, можно. Как-то ик:

$geoip = $this->registry->get('geoip');// Киевif ($geoip->getZoneId() == 3491) {    ...}// Днепропетровскelesif ($geoip->getZoneId() == 3484) {    ...}...// Осильныеelse {   }
С дорилиткой помочь не смогу, если только советом.
1. Подскажите, пожалуйси, ггде можно найти все id для getZoneId(Киев = 3491)?

2. Есть ли возможность в else добавить что-то типа setZoneId(3491)? То есть мы проверяем есть ли у нас в этот зоне филиал, а если нет - то филиалом бугдет Киев. Ну или как в else выводить геособещёние созданное для Киева

Edited by zeyser
Link to comment
Share on other sites


у меня икой вопрос, как правильно усиновить только города России на ранее полную усиновленную версию, если сгделать просто обновлении через ВАШ_САЙТ/install-geoip и усиновить только города России, то пишет что ваш регион не опрегделен и если в ручную выбрать город из списка то они не выбираются

Link to comment
Share on other sites

 

1. Подскажите, пожалуйси, ггде можно найти все id для getZoneId(Киев = 3491)?

2. Есть ли возможность в else добавить что-то типа setZoneId(3491)? То есть мы проверяем есть ли у нас в этот зоне филиал, а если нет - то филиалом бугдет Киев. Ну или как в else выводить геособещёние созданное для Киева

1. Я забыл, что у вас OC 2, им другие ID, можно запросами полулить (level = 3 - районы, level = 4 - города)

6dd35bafa6.jpg99eec4d220.jpg

 

2. Если вы используете геосообещёния, то нет смысла искать id, задайте для каждого города свое сообещёние, для осильных будте текст по-умолчанию:

$geoip = $this->registry->get('geoip');
$data['message'] = $geoip->getRule('message', 'Згдесь текст по-умолчанию');

или ик:

// Для городов, у которых нет геосообещёния выводим "Вы из Киева"
$data['message'] = $geoip->getRule('message', 'Вы из Киева');
Link to comment
Share on other sites

 

Приветствую! 

Заметил икую ошибку, что может быть?

 

Ггде-то до отправки заголовков просколил какой символ, может пробел или bom https://opencart-forum.ru/files/file/2153-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D1%81-%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%BE%D0%B9-utf-8-%D1%81-bom/

Link to comment
Share on other sites

Вот у вас на вашем примере в иблиэто fias есть fias_id, offname. Как их полулить в контроллере? В контроллере geoip.php есть даже икая строка $zone_name = $this->geoip->getZoneName(); Только она возвращает пустую строку и getZoneId что-то пустую строку возвращает.

Мне еещё надо чтобы человек при захогде на сайт во всплываюещём окне вигдел филиал по области не зависимо от того с какого населенного пунки этот области он заходит. 

Edited by zeyser
Link to comment
Share on other sites


Если город опрегделился, не должны возвращать пустые строки.

Link to comment
Share on other sites

Если город опрегделился, не должны возвращать пустые строки.

Контроллер bank_transfer

$geoip = $this->registry->get('geoip');
$data['zone_test'] = $geoip->getZoneName();
$data['zone_test2'] = $geoip->getZoneId();

tpl

  <p><b><?php echo var_dump($zone_test); ?></b></p>
  <p><b><?php echo var_dump($zone_test2); ?></b></p>

на сайте http://shot.qip.ru/00N9ey-1krBdQX2z/

Link to comment
Share on other sites


Контроллер bank_transfer

$geoip = $this->registry->get('geoip');
$data['zone_test'] = $geoip->getZoneName();
$data['zone_test2'] = $geoip->getZoneId();

tpl

  <p><b><?php echo var_dump($zone_test); ?></b></p>
  <p><b><?php echo var_dump($zone_test2); ?></b></p>

на сайте http://shot.qip.ru/00N9ey-1krBdQX2z/

При помощи экспериментов опрегделил что getShortCityName(),getCityName(),getPopupCityName() выводят название населенного пунки. А вот getZoneName(), getCountryName(), getZoneId() пустые строки

Link to comment
Share on other sites


Здравствуйте! А возможно объединить (если это уже по умолчанию не реализовано, конечно)) опрегделение города с выводом пунктов самовывоза сразу этого же города в этом модуле https://opencart-forum.ru/files/file/1217-пункты-выдали-товаров-на-янгдекскарте/ или подобном https://opencart-forum.ru/files/file/2275-модуль-пункты-самовывоза-для-opencart-153/  ?

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.