Перейти к содержанию

GeoIp Pro (группы покупателей, разные цены для городов)

Версия дополнения: 7.2

690.00 руб

   (124 отзыва)
OpenCart:
  • 3.0
  • 2.3
  • 2.2
  • 2.1
  • 2.0
  • 1.5.6.4
  • 1.5.6.3
  • 1.5.6.2
  • 1.5.6.1
  • 1.5.6
  • 1.5.4.1
  • 1.5.3.1
ocStore:
  • 3.0
  • 2.3
  • 2.2
  • 2.1
  • 1.5.5.1.2
  • 1.5.5.1.1
  • 1.5.5.1
  • 1.5.4.1.2
  • 1.5.4.1.1
  • 1.5.4.1
  • 1.5.3.1
OpenCart.Pro, ocShop:
  • Opencart.pro 2.3
  • Opencart.pro 2.1
  • OcShop 2.0.3.х
  • OcShop 1.5.6.4.х

22 изображения

  • +1 14

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

Расширенная версия модуля GeoIP - включает в себя весь его функционал и обладает дополнительными возможностями.

Модуль определяет город по IP-адресу или домену либо пользователь выбирает его вручную. Автоматически заполняются поля Страна, Регион, Город, Индекс (не для всех) при регистрации и оформлении заказа, избавляя пользователя от ручного ввода.

Геосообщения - возможность выводить разный текст или html для городов и регионов (см. скриншоты и FAQ) .

Редиректы - в зависимости от города модуль может перебрасывать пользователя на нужный поддомен и URL.

Для всех стран можно задать свою валюту, она будет автоматически выставляться при определении по IP.

GeoIP Pro позволяет задавать разные цены на товары для городов через привязку групп покупателей к городам.

В Pro-версии можно привязать поддомен к городу и там всегда будет выставляться этот город, не зависимо от IP, это дает существенный выигрыш при региональном сео-продвижении сайта.

 

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

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

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

 

Модуль работает на основе базы данных Sypex Geo и не делает запросы на сторонние сервисы, за счёт чего скорость определения города гораздо выше.

 

image.png.78eb19e6fedef5bf6c803624cb58c862.png

 

Лицензия

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

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

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

 

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

 

Установка

Скачайте архив, подходящий под вашу версию OpenCart, OcStore и т.д. Следуйте инструкции в архиве Установка.txt.

 

Поддержка

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

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

Перед обращением в поддержку обязательно прочитайте FAQ на этой странице.

 

Демо

http://opencart.progroman.ru/demo/geoippro/

Админка (demo/demo)

http://opencart.progroman.ru/demo/geoippro/admin/index.php?route=extension/module/progroman_city_manager

 

FAQ (ответы на вопросы)

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

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

Спойлер

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

 

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

Спойлер

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

ini_set('display_errors', 1);

 

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

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

 

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

Спойлер

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

 

php_value session.cookie_domain .site.com

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

 

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

то установка некоторых переменных невозможна через .htaccess, в том числе и php_value session.cookie_domain

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

В самом начале файла, сразу после <?php пишем:



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

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

 

Как добавить разные цены для городов

Спойлер
  1. В админке стандартными средствами OpenCart создаете группу покупателей, например, "Воронеж"
  2. В админке модуля GeoIP Pro на вкладке "Группы покупателей" привязываете группу к городу / региону / стране.
  3. В редактировании товара на вкладке "Скидка" устанавливаете цены для разных групп покупателей, здесь важно в поле "Количество" поставить 1.

 

Как добавить геосообщение

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

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>

 

 

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

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

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

Вывод модуля

В контроллере:



$data['geoip'] = $this->load->controller('module/progroman/city_manager');

В шаблоне:



<div class="prmn-cmngr" data-confirm="true"><?= $geoip; ?></div>

 

Вывод геосообщения с ключом "phone"

В контроллере:



$data['geoip_phone'] = $this->progroman_city_manager->getMessage('phone');

В шаблоне:



<?= $geoip_phone ?>

 

 

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

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

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

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



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

2. Без



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

 

 

Вывод города в title страницы

  Скрыть контент

 

Для примера рассмотрим страницу категории, для других страниц делается по аналогии.
За вывод страницы отвечает контроллер catalog/controller/product/category.php, title устанавливается так:

image.png

 

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

image.png.6aba4e2ae2464b35c2dd9ff0e235b4e0.png

 

допишим шаблон для города так:

image.png.a355656db11e0c6ca6a6db41eeb2aef4.png

 

В контроллере делаем замену:

image.png

 

Код:



$city = $this->progroman_city_manager->getShortCityName();
$title = str_replace('%CITY%', $city, $category_info['meta_title']);
$this->document->setTitle($title);

 

 

Интеграция с модулями расчета доставки 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()
    ];
}

 

 

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

 

Спойлер

Модуль полность совместим с модулем "Simple - упрощенная регистрация и заказ".
Дополнительных настроек делать не нужно. Единственное, что можно настроить -
чтобы при автозаполнении поля город Simple использовал базу модуля GeoIP.
Оформление заказа в Симпл:

7eb55d0c33.jpg

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



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

 

 

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

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


$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['info'] = $this->progroman_city_manager->getFullInfo();

 

 

Ошибка "Warning: fread(): Length parameter must be greater than 0 in ...system/library/progroman/citymanager/driver/sxgeo.php"

  Скрыть контент

В system\library\progroman\citymanager\driver\sypex.php

вместо



$sxGeo = new SxGeo($file);
$data = $sxGeo->getCityFull($this->ip);

так:



$encoding = mb_internal_encoding("8bit");
$sxGeo = new SxGeo($file);
$data = $sxGeo->getCityFull($this->ip);
mb_internal_encoding($encoding);

 

Или в настройках PHP поставить



mbstring.func_overload = 2

 

 

Переход с обычной версии модуля GeoIP (до 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 больше не нужны, можете удалить их вручную, установщик скопировал данные из них в новые таблицы.

 

 

 

 

 




  • Последние посетители   1 пользователь онлайн

×

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

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