Форум 1С-Битрикс

Задавайте свои вопросы и отвечайте на вопросы других участников форума

Страницы: 1
Ответить
Как сопоставить текстовое название города из гео-базы с местоположениями 1С-Битрикс
 
Здравствуйте. Подскажите, допустим мы определили город по ip адресу пользователя и теперь как настроить связь с местоположениями Битрикса.
 
Для определения города по ip подойдут стандартные средства битрикс
Цитата
use \Bitrix\Main\Service\GeoIp;
GeoIp\Manager::useCookieToStoreInfo(true);
$ipAddress = GeoIp\Manager::getRealIp();
$result = GeoIp\Manager::getDataResult($ipAddress, "ru");

$getLocationId = \Bitrix\Sale\Location\GeoIp::getLocationId($ipAddress, "ru");
$getLocationCode = \Bitrix\Sale\Location\GeoIp::getLocationCode($ipAddress, "ru");
Если есть название города, можно использовать следующий функционал для определения кода местоположения

Цитата
\Bitrix\Main\Loader::includeModule('sale');
$ol["city"] = "Москва";

           $result = array();

           $res = \Bitrix\Sale\Location\LocationTable::getList(array(
               'filter' => array(
                   '=NAME.NAME_UPPER' => ToUpper($ol["city"]),
                   '=NAME.LANGUAGE_ID' => "ru"
               ),
               'select' => array('ID', 'CODE')
           ));

           if($loc = $res->fetch())
               $resultCity = $loc;
   }
$getLocationCode = $resultCity['CODE'];
$getLocationId = $resultCity['ID'];
Страницы: 1
Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить