[JSON] Как вывести страницу в формате JSON?
Необходимо чтобы страница site.com/api возвращала JSON с данными из ресурсов. Это можно сделать через сниппет pdoResources с помощью 'return' => 'json' но необходимо чтобы выводились не все данные, а только id, pagetitle и пара tv-полей. Примерно по такому шаблону
(шаблон)
Подскажите, как правильно нужно это делать
{
"id" : "1",
"name" : "res_name",
"img" : "res_tv_img"
}, ...Как правильно это сделать? Вот такой вариант:(шаблон)
[
{'!pdoResources' | snippet : [
'parents' => 2,
'showUnpublished' => 1,
'tpl' => 'api_item',
'includeTVs' => 'image,console',
]}
](чанк){
"id": "{$id}",
"name": "{$pagetitle}",
"img": "{$_pls['tv.image']}",
},работает, но только если тип ресурса указан HTML, если выбирать JSON, то как-будто вообще ничего не происходит, ни ошибок в логе, ни вывода на страницу, ничего.Подскажите, как правильно нужно это делать
Комментарии: 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
ну или просто попроще
внутри этого файла инициализируем MODX в API режиме, читаем, например:
modx.pro/development/3163
А далее просто получаем данные, как нам нужно и выводим в json:
да, если нужны TV поля, то запрос будет сложнее. Но эта информация тоже есть на форуме.
Если уж совсем лень писать запрос — то можно внутри скрипта вызвать сниппет pdoresources: