Jump to content

json местоположение


demvlg

Recommended Posts

Какой встроенной функцией в IPS можно вот это

[location] => {"lat":null,"long":null,"addressLines":[null],"city":"\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434","region":"\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c","country":"RU","postalCode":""}

превратить в строку типа 

Цитата

Воронеж, Воронежская область, Россия

Спасибо

Link to comment
Share on other sites

$location = json_decode( '{"lat":null,"long":null,"addressLines":[null],"city":"\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434","region":"\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c","country":"RU","postalCode":""}', TRUE );
echo $location['city'];

 

Link to comment
Share on other sites

Нет никаких "встроенных функций IPS" для этого нет, уважаемый. Есть нативные функции PHP. Внимательно читать то, что вам нужно - моя святая обязанность!

Что вам действительно нужно, так это хотя бы точно знать - чего именно вы хотите. Ну и RTFM, конечно же...

Link to comment
Share on other sites

как правило фреймворки имеют свои "оболочки" нативных функций пхп
или какие-то библиотечки, типа Carbon для времени/даты

может geoip? я могу конечно пройтись по этому объекту и собрать нативными функциями нужную мне конечную адресную строку
но не вдавался я в geoip сильно... может есть что-то geoip_get_address($json), где $json - это мой объект выше?

Link to comment
Share on other sites

Вы не внятно описываете задачу. Что за объект? Где вы хотите получить свою строку, в шаблоне IPS? Тогда решение будет выглядеть примерно так:

{{$location = json_decode( $my_obj->geo['location'], TRUE );}}
<div>{$location['city']}, {$location['region']}, {$location['country']}</div>

 

Link to comment
Share on other sites

23 часа назад, demvlg сказал:

"country":"RU"

а надо Россия...
хорошо, есть кастом филд типа адрес
для записи базы данных в отображении доступна переменная $address, которая выглядит в итоге как

23 часа назад, demvlg сказал:

Воронеж, Воронежская область, Россия

но в базе нет слова "Россия".
каким то методомв в фреймворке/нативной геофункцией оно вытягивается
 

я дополняю блок событий календаря
у события можно указать местоположение
но в стандартной верстке нет вывода этого поля
ия хз как его вывести
$event-> ?
 

Link to comment
Share on other sites

print_r( \IPS\GeoLocation::buildFromJson('{"lat":null,"long":null,"addressLines":[null],"city":"\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434","region":"\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c","country":"RU","postalCode":""}')->toString( ', ' ) );exit;

 

Link to comment
Share on other sites

В базе всё есть естественно, если у вас в строке "Russian Federation", то ищите это значение в языковом пакете и переводите как вам нужно. Или по ключу "country-RU" ищите.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...