Выдано 117948 лицензий

Магазин приложений HostCMS

Менее 50 установок.

Установить модуль вы можете через раздел «Магазин приложений» в центре администрирования HostCMS.

Модуль геолокации работает на основе базы ipgeobase.ru. Позволяет определить город пользователя по его IP. При необходимости пользователь может сменить город, на любой из доступных в базе. Доступность можно назначить в АП. Доступные модели: Ipgeolocation_Model – данные о количестве магазинов в конкретном городе. Values: • name – название города — (string) • offices – количество магазинов (офисов) — (integer) • map – код карты — (string) • head_office – использовать данные по умолчанию — (bool) • showed – помогает создать список избранных городов (к примеру, среди всех доступных показывать только с этими метками, остальные скрыть в select, или получать запросом, или еще как-то ) • id, sorting, site_id, active, deleted — (integer) Ipgeolocation_City_Model –данные о конкретном городе. Values: • city – название города — (string) • country – страна города — (string) • region – регион — (string) • district – округ — (string) • lat, lng – координаты (decimal) • city_id – код города в таблице диапазонов IP адресов • id, active, deleted — (integer) Контроллер вывода Ipgeolocation_Controller_Show: $oIpGeolocation = new Ipgeolocation_Controller_Show (); Методы: • getUserGeoData – возвращает данные текущего пользователя на сайте (хранятся в сессии, иначе выбираются из базы, иначе запрашиваются из базы ipgeobase.ru). • getCitesList – возвращает массив с названиями всех городов из таблицы ipgeolocation_cities • getCityOfficesList – возвращает массив доступных городов с количеством магазинов. Принимает, значения – ‘showed’ и ‘all’. ‘showed’ – только избранные для показа, ‘all’ – все (по умочанию). • getDefaultCityData — возвращает массив с данными города, выбранного по умолчанию • showCurrentMap – возвращает строку с кодом карты для города текущего пользователя. • show ('IpGeolocationShow'); // метод show принимает название XSL-шаблона (примеры шаблонов вывода хранятся в /modules/ipgeolocation/assets/xsl) Пример вывода: Пример обработки ajax-запроса (пример самого ajax-запроса в файле /modules/ipgeolocation/assets/js/script.js): if (! is_null (Core_Array::getRequest ('search_city'))) { if (Core::moduleIsActive ('ipgeolocation')) { $aOut = array (); $cityName = strval (Core_Array::getRequest ('search_city')) ; $oIpGeolocation = Core_Entity::factory ('Ipgeolocation'); $oIpGeolocation->queryBuilder () ->where ('name', 'LIKE', '%'.$cityName.'%'); $aIpGeolocation = $oIpGeolocation->findAll (); if (! is_null ($aIpGeolocation)) { foreach ($aIpGeolocation as $sIpGeolocation) { $aOut[] = array ('city_id'≥$sIpGeolocation->city_id, 'name'≥$sIpGeolocation->name); } } echo json_encode ($aOut); } exit (); } Диапазоны IP хранятся в отдельной таблице 'ipgeolocation_ips' ('id', 'low_ip', 'high_ip', 'city_id').

Версии модуля

Версия Дата Описание Версия от Версия до
1.0 16.12.2017 Модуль IPGeolocation позволяет определить город пользователя по его IP. 6.5.4
Похожие

Комментарии

  • Без темы

    Здравствуйте, этот модуль никак не связан с корзиной и заказом. Геоданные для заказа тоже можно реализовать, если вам это необходимо в какой-то срок - свяжитесь с нами, возможно сделаем такой отдельный модуль либо выполним для вас индивидуальную доработку на вашем сайте.

    29.03.2018 21:07:39 iqsite
  • diz1one

    Без темы

    Может ли модуль подставлять в корзину геоданные?

    29.03.2018 20:56:29 diz1one