FreeCode.Academy
Стратегии обучения
Уроки
Технологии
Участники
Проекты
Задачи
Таймеры
Топики
Блоги
Офис
О проекте
Войти
Попов Дмитрий
API запросы к pivkarta.ru
На замену "потерянной" страницы с примером:
ссылка
Код сниппета:
<?php
// [[places_beer? &beername=`Guinness Draught (Гиннесс)`]]
$query
=
' query { beers ( where : {name: "'
.
$beername
.
'"} ) { places ( orderBy: price_ASC first: 12 ) { price Place{ name address place_id url_name image } } } } '
;
$params
=
[
"query"
=>
$query
,
]
;
$client
=
$modx
->
getService
(
'rest.modRestCurlClient'
)
;
$result
=
$client
->
request
(
'https://pivkarta.ru'
,
'/api/'
,
'POST'
,
$params
,
[
"contentType"
=>
"json"
,
]
)
;
$result
=
json_decode
(
$result
,
true
)
;
foreach
(
$result
[
'data'
]
[
'beers'
]
[
0
]
[
'places'
]
as
$res
)
{
$beers
.=
' <a href="https://pivkarta.ru/place/'
.
$res
[
'Place'
]
[
'place_id'
]
.
'/'
.
$res
[
'Place'
]
[
'url_name'
]
.
'" class="col-6 col-sm-4 col-md-3 col-lg-2 text-center" target="_blank" style="line-height:1;"> <img class="mx-auto d-block" src="https://pivkarta.ru/images/resized/thumb/'
.
$res
[
'Place'
]
[
'image'
]
.
'"/> <b>'
.
$res
[
'Place'
]
[
'name'
]
.
'</b><br/> '
.
$res
[
'Place'
]
[
'address'
]
.
'<br/> Цена: <big>'
.
$res
[
'price'
]
.
' руб</big> </a> '
;
}
$output
=
' <div class="row"> <div class="col-12"> <h3>В каких заведениях есть пиво '
.
$beername
.
'</h3> </div> '
.
$beers
.
' </div> '
;
return
$output
;
echo
'<hr/>'
;
print_r
(
$result
)
;