17 изображений

Информация о файле

Прежде, чем купить, посмотрите расширенную версию модуля - GeoIP Pro!

 

Описание

Автоматическое определение региона пользователя по IP-адресу. Регион определяется один раз и запоминается в сессию и cookie, но пользователь может его менять.

Регион пользователя подставляется при регистрации и оформлении заказа, избавляя пользователя от необходимость заполнять поля Регион, Город, Индекс.

Автоматически меняется валюта при определении / смене страны.

Есть возможность выводить информацию в зависимости от местоположения посетителя (см. скриншоты)

Можно настроить редиректы в зависимости от положения, например, на ua.site.com для Украины или spb.site.com для Санкт-Петербурга

Содержит базу населенных пунктов России (ФИАС), Украины, Белоруссии, Казахстана на русском языке.

Определение по IP работает для России, Украины, Белоруссии и Казахстана с точностью до города для других стран с точностью до страны.

Модуль русскоязычный, автор не гарантирует 100%-ю работу модуля для других языков. Настройка редиректов, валют и геосообщений возможна только для указанных выше стран.

Совместим с модулем "Simple - упрощенная регистрация и заказ"

Важно! Для версий OpenCart / OcStore 1.5.* модуль есть только до версии 5.2!

 

Обновление до версии 6.0

Скрытый текст

Для обновления необходимо удалить старую версию:

  1. Отключите модуль в админке
  2. Удалите модификаторы
  3. Уберите правки из index.php (или system/config/catalog.php для OC 2.2 и выше)
  4. Удалите файлы:
  • admin/controller/module/geoip.php
  • admin/language/russian/module/geoip.php
  • admin/language/english/module/geoip.php
  • admin/model/module/geoip.php
  • admin/view/template/module/geoip/ (всю папку)
  • admin/view/template/module/geoip.tpl
  • catalog/controller/module/geoip.php
  • catalog/language/russian/module/geoip.php
  • catalog/language/english/module/geoip.php
  • catalog/model/module/geoip.php
  • catalog/view/theme/default/template/module/geoip/ (всю папку)
  • catalog/view/theme/default/template/module/geoip.tpl
  • catalog/view/theme/default/stylesheet/geoip.css
  • catalog/view/javascript/jquery/jquery.geoip-module.js
  • system/library/geoip/ (всю папку)
  • system/library/geoip.php

Установите новую версию. Таблицы в базе данные: geoip_city, geoip_currency, geoip_redirect, geoip_rule больше не нужны, можете удалить их вручную, установщик скопировал данные из них в новые таблицы.

 

Работа с поддоменами

Скрытый текст

Если вы используете поддомены, установите для них одну сессию, для этого в .htaccess добавьте:

php_value session.cookie_domain .site.com

где site.com - ваш сайт

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

в том числе и php_value session.cookie_domain

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


ini_set('session.cookie_domain', '.site.com');

В настройках модуля на вкладке "Редиректы" пропишите основной домен (для редиректа по-умолчанию).

 

 

Требования к хостингу

Скрытый текст
  • PHP 5.4+ (до версии 6.0 PHP 5.3)
  • ionCube PHP Loader версии 5 и выше
  • Установленный в opencart Vqmod (только для Opencart 1.5.*)

Совместимость с версиями:

Opencart/OcStore 1.5.* - версии модуля 1.0-5.2

OpenCart/OcStore 2 - версии модуля выше 5.1

 

Лицензия

Скрытый текст

Модуль работает по лицензии (один домен + его поддомены). После покупки напишите автору сообщение в личку с темой "Лицензия GeoIP" и укажите адрес вашего сайта.

Дополнительные лицензии на другие домены можно оплатить через Яндекс.Деньги или переводом на карту Сбербанка. Стоимость второй и последующих лицензий при оплате указанными способами - 330 рублей.

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

Важно! Удаление или перенос лицензии на другой домен невозможно! Это уже другая лицензия, которая покупается отдельно.

 

Установка

Скрытый текст

См. файл readme.txt или Установка.txt из архива модуля.

Для OpenCart / ocStore 1.5.x используйте архив geoip_v5.2.zip, для OpenCart / ocStore 2.x - geoip_oc2_v5.2.zip

 

FAQ

 

Начиная с версии 6.0

Как пользоваться геосообщениями

Скрытый текст

1. Создаем в админке модуля геосообщения с определенным ключом (например, phone), одному ключу могут соответствовать разные города

86f0151dfe.jpg

2. В любом шаблоне в нужном месте вставляем:



<span class="prmn-cmngr-message" data-key="phone"></span>

в data-key прописываем ключ геосообщения

3. Чтобы задать значение по-умолчанию, добавьте атрибут data-default="" с нужным значением



<span class="prmn-cmngr-message" data-key="phone" data-default="8-800-111-11-11"></span>

 

 

Интеграция с модулем расчета доставки eDost, СДЭК и другими

Скрытый текст

По-умолчанию, модуль подставляет в поле "город" населенный пункт с районом, например, "Одинцовский р-н, г. Одинцово". Некоторые модули доставки из-за этого не могут корректно определить город и рассчитать стоимость. Чтобы убрать район, нужно:

 

В файле system/library/progroman/citymanager/citymanager.php



'city' => $this->getCityName()

заменить на



'city' => $this->getShortCityName()

В этом месте:



private function getData() {
    return [
        'country_id' => $this->getCountryId(),
        'zone_id' => $this->getZoneId(),
        'postcode' => $this->getPostcode(),
        'city' => $this->getCityName()
    ];
}

 

 

Как отключить попап "Угадали город" в версии 6.0

Скрытый текст

При выводе модуля установить атрибут data-confirm="false" или удалить его

1. Вывод модуля с попапом "Угадали город"



<div class="prmn-cmngr" data-confirm="true"></div>

2. Без



<div class="prmn-cmngr"></div>

 

 

Вывод модуля и геосообщений "вручную" (не через ajax)

Скрытый текст

По-умолчанию модуль выводится через ajax. Чтобы вывести вручную, нужно в соответствующем шаблону контроллере добавить:



// Вывод самого модуля
$data['geoip'] = $this->load->controller('module/progroman/city_manager');

// Вывод геосообщения с ключом phone
$data['geoip_phone'] = $this->progroman_city_manager->getMessage('phone');

В шаблоне:



<!-- Вывод модуля -->
<div class="prmn-cmngr" data-confirm="true"><?= $geoip; ?></div>

<!-- Вывод геосообщения -->
<?= $geoip_phone ?>

 

Получение данных из модуля (страна, регион, город и др.) в контроллерах

Скрытый текст


$data['country_id'] = $this->progroman_city_manager->getCountryId();
$data['country_name'] = $this->progroman_city_manager->getCountryName();
$data['zone_id'] = $this->progroman_city_manager->getZoneId();
$data['zone_name'] = $this->progroman_city_manager->getZoneName();
$data['city_name'] = $this->progroman_city_manager->getCityName();
$data['short_city_name'] = $this->progroman_city_manager->getShortCityName();
$data['postcode'] = $this->progroman_city_manager->getPostcode();
$data['fias_id'] = $this->progroman_city_manager->getFiasId();
$data['info'] = $this->progroman_city_manager->getFullInfo();

 

 

 

До версии 6.0

Fatal error: Call to a member function getZoneId() on a non-object in.../catalog/controller/module/geoip.php

 

При установке был пропущен п.3 из инструкции по установке:

Цитата

3) Для Opencart до версии 2.2:

В index.php перед $controller = new Front($registry); добавьте

$registry->set('geoip', new GeoIP($registry));

 

Как пользоваться геосообщениями

 

Геосообщения предназначены для вывода информации в зависимости от местоположения пользователя.

Для примера, выведем разные номера телефонов для пользователей из Украины, России и конкретно Москвы, а также тексты для Москвы и Санкт-Петербурга в шапке сайта.

Заходим в админку: Дополнения → Модули → GeoIP, выбираем вкладку Геосообщения.

Добавляем правила.

В поле "ключ" вписываем одинаковый для этой группы ключ (латинские буквы и цифры), например, "phone".

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

В поле "значение" соответствующее геозоне значение.

2.jpg

Открываем контроллер шапки /catalog/controller/common/header.php и в начале функции index() после { добавляем:



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

где "phone" и "text" соответствующие ключи.

В getRule() можно передать значение по-умолчанию, которое будет выводиться, если города пользователя нет в списке или он не определен:



$this->data['geoip_text'] = $geoip->getRule('text', 'Добро пожаловать на сайт');
 

Для OpenCart 2 вместо $this->data пишется просто $data

Открываем шаблон шапки /catalog/view/theme/ВАША_ТЕМА/template/common/header.tpl и в нужно месте вставляем:



<?php echo $geoip_phone; ?>

и



<?php echo $geoip_text; ?>

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

/catalog/controller/product/product.php и /catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl и т.д.

3.jpg

 

Как получить страну, регион, город с помощью geoip

 


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

// Название страны
$country = $geoip->getCountryName();

// Название региона
$zone = $geoip->getZoneName();

// Название города или населенного пункта с районом (Дмитровский р-н, г. Дмитров)
$city = $geoip->getCityName();

// Название города
$short_city = $geoip->getShortCityName();

// Индекс
$postcode = $geoip->getPostcode();
 

 

Интеграция с модулем расчета доставки eDost, СДЭК и другими

 

Для расчета доставки необходимы: страна и город, но, по-умолчанию, к городу добавляется район.

Страна: Российская Федерация

Регион: Московская область

Город: Одинцовский р-н, Одинцово

Чтобы сделать:

Город: Одинцово

В catalog\controller\module\geoip.php замените в 4-х местах:



$city_name = $this->geoip->getCityName();

на



$city_name = $this->geoip->getShortCityName() ? $this->geoip->getShortCityName() : $this->geoip->getCityName();
 

 

Для всех версий

Совместимость с Simple. Использование автозаполнения поля город из базы модуля GeoIP

 

Оформление заказа в Симпл:

7eb55d0c33.jpg

Чтобы использовать базу модуля GeoIP необходимо в файле /catalog/model/tool/simplegeo.php раскоментировать (убрать /* в начале и */ в конце) следующий код:



            /*$sql = "SELECT                f1.fias_id AS id,
            ...
            f3.level,                f1.shortname            LIMIT 100";*/
 

 

Совместимость с шаблоном Journal2

 

Чтобы в Journal2 работала подстановка страны, региона, города:

/catalog/model/journal2/checkout.php метод save() 268 строка



if ($this->customer->isLogged()) {    $address_id = $this->customer->getAddressId();    if ($address_id) {        $address_info = $this->model_account_address->getAddress($address_id);    } else {        $addresses = $this->model_account_address->getAddresses();        $address_id = is_array($addresses) && count($addresses) ? array_get_first_key($addresses) : null;        $address_info = $address_id !== null ? $addresses[$address_id] : null;    }} else {    $address_info = null;}
 

Заменить на:



if ($this->customer->isLogged()) {    $address_id = $this->customer->getAddressId();    if ($address_id) {        $address_info = $this->model_account_address->getAddress($address_id);    } else {        $addresses = $this->model_account_address->getAddresses();        $address_id = is_array($addresses) && count($addresses) ? array_get_first_key($addresses) : null;        $address_info = $address_id !== null ? $addresses[$address_id] : null;    }} elseif (!empty($this->session->data['payment_address'])) {     $address_info = $this->session->data['payment_address'];} elseif (!empty($this->session->data['shipping_address'])) {     $address_info = $this->session->data['shipping_address'];} else {     $address_info = null;}
 

 

Совместимость с Ajax Quick Checkout

Скрытый текст

Если в Ajax Quick Checkout не подставляются страна, регион и город нужно в его настройках выключить опцию "Clear checkout session after page refresh". Не забудьте в настройках модуля GeoIP проверить вкладку "Регионы".

 

33a4d95028.jpg

 

Как включить вывод ошибок

 

Сделать это можно несколькими способами: через панель управления, в php.ini, в .htaccess или непосредственно в коде. Проще всего сделать это в коде в index.php или в admin/index.php (если ошибка в админке). В самом начале файла, сразу после <?php пишем:



ini_set('display_errors', 1);
 

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

После исправления ошибки вывод ошибок нужно отключить.

После установки модуля сайт не работает, ничего не выводится, белый экран или Ошибка HTTP 500 (Internal Server Error)

 

Белый экран говорит о том, что произошла серьезная ошибка в коде, но вывод ошибок отключен. Сначала нужно понять причину ошибки, для этого включаем вывод ошибок в браузер. Смотрим ошибку, пробуем исправить, ищем решение в интернете. Если не получается исправить, скидываем текст ошибки автору в ЛС.

 

 

Демо

 

При обращении за тех. поддержкой сразу указывайте адрес сайта и как можно точнее описывайте проблему.

Стоимость установки модуля автором или адаптация модуля под тему (настройка css-стилей) 400 рублей


Что нового в версии 6.0.2   Просмотр изменений

Размещено

  • Исправил установку через HTTPS



Обратная связь

Чтобы оставить отзыв, создайте аккаунт или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


mchubar

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Купил и установил модуль.

Автор помог с настройкой.

Большое спасибо!

Поделиться этим отзывом


Ссылка на отзыв
stehlen

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Модуль отличный. Очень мне нравится. Куплю для второго магазина. Учитывая цену - ДОЛЖЕН БЫТЬ У КАЖДОГО!

Поделиться этим отзывом


Ссылка на отзыв
winston14

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

купил, поставил, была одна проблема - написал автору, все оперативно исправил, модуль работает нормально. Спасибо!))

Поделиться этим отзывом


Ссылка на отзыв
pro1d

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Полезный мод!

Поделиться этим отзывом


Ссылка на отзыв
Neron768

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Отличный модуль

Поделиться этим отзывом


Ссылка на отзыв
FM646

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Давно хотел поставить что-то подобное. Отличный модуль! И по цене не дорого, для такой работы

Поделиться этим отзывом


Ссылка на отзыв
Tank

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Отличный модуль. Все работает "из коробки"!

Поделиться этим отзывом


Ссылка на отзыв
marsooo

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Хорошая поддержка

Поделиться этим отзывом


Ссылка на отзыв
motaby

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Отличный модуль, рекомендую

Поделиться этим отзывом


Ссылка на отзыв
marks

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Нужный и полезный модуль, автор помог установкой.

Поделиться этим отзывом


Ссылка на отзыв
Artitec

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Очень удобный и полезный модуль. 5 из 5

Поделиться этим отзывом


Ссылка на отзыв
botsmannik

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Автор помог с установкой модуля. Все работает как нужно. Города определяются и при оформлении заказа у меня теперь нет проблем с ошибочными регионами и неправильной ценой доставки. Модуль не создает проблем Simple, модулю СДЭК и почте и выводит нужные сообщения для каждого отдельного региона или города.

Поделиться этим отзывом


Ссылка на отзыв
aleksss454

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Качественный нужный модуль свою работу отлично выполняет.

Поделиться этим отзывом


Ссылка на отзыв
Smolarchuk

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Удобный и полезный модуль. Часто обновляется. Расширяется функционал.

Поделиться этим отзывом


Ссылка на отзыв
Xeon

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Свои функции выполняет.

Поделиться этим отзывом


Ссылка на отзыв
Moonwalker

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Модуль из серии "Нужен каждому". Жалко только, что пришел я к нему не сразу )) Модуль добавил в "пакет сборки" для всех своих новых магазинов на открытие ))

Поделиться этим отзывом


Ссылка на отзыв
temichdv

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Модуль заработал без бубнов, с поставленной задачей справился

Поделиться этим отзывом


Ссылка на отзыв
megrel

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Must Have!

Поделиться этим отзывом


Ссылка на отзыв
dreanei23

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Модуль хороший, но чтобы подогнать под задуманный проект пришлось немного подкорректировать работу opencart

Поделиться этим отзывом


Ссылка на отзыв
opoiknet

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

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

Поделиться этим отзывом


Ссылка на отзыв
nestormaxno

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Поделиться этим отзывом


Ссылка на отзыв
Artis

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Поделиться этим отзывом


Ссылка на отзыв
Dalagar

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Поделиться этим отзывом


Ссылка на отзыв
karabas83

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Поделиться этим отзывом


Ссылка на отзыв
recon63

   1 из 1 пользователь отзыв оказался полезным 1 / 1 пользователь

Поделиться этим отзывом


Ссылка на отзыв
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу