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


Справочник регионов и городов России в битриксе

Скорее памятка для себя, но, может, ещё кому-то окажется полезным.

Нужен модуль веб-аналитики.

Установка

1) Скачать архив с cidr_ru_block.txt со страницы http://ipgeobase.ru/cgi-bin/Archive.cgi, распаковать файл cidr_ru_block.txt в /bitrix/modules/statistic/ip2country
2) Зайти на страницу списка мастеров (/bitrix/admin/wizard_list.php?lang=ru) и запустить мастер создания индексов IP (bitrix:statistic.locations)
3) В мастере выбрать "Создание индекса для определения страны и города по IP адресу", "Далее", выбрать cidr_ru_block.txt, "Далее"

Получение списка регионов и городов России

Через класс CCity модуля веб-аналитики (не документирован):
CModule::IncludeModule('statistic');
$arOrder = array('REGION_NAME' => 'ASC');
$arFilter = array('COUNTRY_ID' => 'RU');
$res = CCity::GetList($arOrder, $arFilter);
while ($el = $res->Fetch())
   print_r($el);

Результат:
Array
(
    [CITY_ID] => 51
    [COUNTRY_ID] => RU
    [COUNTRY_SHORT_NAME] => RUS
    [COUNTRY_NAME] => RUSSIAN FEDERATION
    [REGION_NAME] => Алтайский край
    [CITY_NAME] => Барнаул
)

Array
(
    [CITY_ID] => 353
    [COUNTRY_ID] => RU
    [COUNTRY_SHORT_NAME] => RUS
    [COUNTRY_NAME] => RUSSIAN FEDERATION
    [REGION_NAME] => Алтайский край
    [CITY_NAME] => Заринск
)

Array
(
    [CITY_ID] => 265
    [COUNTRY_ID] => RU
    [COUNTRY_SHORT_NAME] => RUS
    [COUNTRY_NAME] => RUSSIAN FEDERATION
    [REGION_NAME] => Алтайский край
    [CITY_NAME] => Бийск
)
....
Array
(
    [CITY_ID] => 477
    [COUNTRY_ID] => RU
    [COUNTRY_SHORT_NAME] => RUS
    [COUNTRY_NAME] => RUSSIAN FEDERATION
    [REGION_NAME] => Ярославская область
    [CITY_NAME] => Гаврилов-ям
)

Array
(
    [CITY_ID] => 585
    [COUNTRY_ID] => RU
    [COUNTRY_SHORT_NAME] => RUS
    [COUNTRY_NAME] => RUSSIAN FEDERATION
    [REGION_NAME] => Ярославская область
    [CITY_NAME] => Мышкин
)


Определение региона и города текущего посетителя по его IP

ID города, если он определился, находится в $_SESSION['SESS_CITY_ID']
if ($_SESSION['SESS_CITY_ID'] > 0)
{
   $res = CCity::GetList(
      false,
      array('CITY_ID' => $_SESSION['SESS_CITY_ID'])
   );
   if ($el = $res->Fetch())
      print_r($el);
}

 

 

Источник: http://dev.1c-bitrix.ru/community/webdev/user/2812/blog/2449/

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA