PHP code example of wfgm5k2d / bitrix-location-service
1. Go to this page and download the library: Download wfgm5k2d/bitrix-location-service library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
wfgm5k2d / bitrix-location-service example snippets
// Получить данные о местоположении по реальномму IP пользователя
$data = IpWhoIsService::getRealIp()->getDataResult();
// Получить данные города из массива
$city = $data->getCity();
// Получить информацию о местоположении
$obData = $data->getBxLocation($city);
// Получить REGION_ID из массива ITEM
$regionId = $obData->getItemRegionId();
// Получить данные о местоположении региона по REGION_ID
$obRegion = $obData->getBitrixRegion($regionId);
// Получить название города из региона ['VALUE']['CITY_NAME']
$sCity = $obData->getValueCityName();
// Выбираем все города
$arCity = $obData->searchLocationInBitrixLocations(BitrixLocationService::TYPE_CITY, $sCity);
// Если город не нашелся ищем в селах
$arVillage = $obData->searchLocationInBitrixLocations(BitrixLocationService::TYPE_VILLAGE, $sCity);
// Совместим результаты
$arCities = array_merge($arCity, $arVillage);
// Получим индекс этого города
BitrixLocationService::getZipLocation($arCities['ID']);
// Получим полный путь до города
BitrixLocationService::getFullPathToLocation($arCities);
$siteId = Context::getCurrent()->getSite(); // Получили site ID
$currencyCode = CurrencyManager::getBaseCurrency(); // Метод возвращает код базовой валюты
$obOrder = Order::create($siteId, $USER->GetID());
$obOrder->setPersonTypeId(1); //Установим тип плательщика (Физическое лицо)
$obOrder->setField('CURRENCY', $currencyCode);
// Устанавливаем корзину пользователя в заказ
// Получили текущую корзину
$obBasket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite())->getBasket();
$obOrder->setBasket($obBasket); // Установили корзину в заказ
$propertyCollection = $obOrder->getPropertyCollection();
$propertyCodeToId = array();
foreach ($propertyCollection as $propertyValue)
$propertyCodeToId[$propertyValue->getField('CODE')] = $propertyValue->getField('ORDER_PROPS_ID');
if (!empty($arCity['CODE'])) {
$propertyValue = $propertyCollection->getItemByOrderPropertyId($propertyCodeToId['LOCATION']);
$propertyValue->setValue($arCity['CODE']);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.