@dellakeram

Как в modx реализовать не сложный функционал API?

Привет,
Как в Modx revo реализовать api?
Нужно сделать вывод последних 4 ресурсов в родителе с TV полями и всеми прелестями в json.
Или вывод всех ресурсов (товаров) со всей инфой (title, tv, дата и тд) из родителя в понятный json типа
[
      {
         "title": "Тайтл",
         "tv_title": "Тайтл тв",
         "tv_img_1": "/image/1.jpg"
      },{
         "title": "Тайтл2",
         "tv_title": "Тайтл тв 2",
         "tv_img_1": "/image/2.jpg"
      }
]

PS: Я смог реализовать подобие напрямую из php файла с подключением к бд через этот файл. Но это не безопасно и это был костыль.
  • Вопрос задан
  • 956 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dellakeram Автор вопроса
Создал ресурс с названием "api", формат json.
В контенте написал следующее:
[
   [[synacs_pdoResources?
       &parents=`25` // Из какого родителя будут браться ресурсы
       &limit=`4` // кол-во ресурсов
       &tpl=`api_test` // ссылка на чанк (об этом ниже)
       &includeTVs=`app_title, vk_link, instagram_link, google_plus__link, facebook_link` // Какие тв поля выводить
   ]]
]

Скопировал сниппет pdoResources, назвав его "synacs_pdoResources"
Изменил его
//В место этого
return $output;
//Сделал это
return json_encode($output);

Создал чанк с названием api_test.
В чанке следующее:
{"title":"[[+pagetitle]]","img":"[[+tv.img_1]]"}
Где title - тайтл ресурсов, img - tv параметр.
Вот вывод:
[
"{\"title\":\"9 \u043c\u0430\u044f\",\"img\":\"s_img\/news\/bd7e7ae0d30ee44784cb19c4921bb11e.jpg\"}\n{\"title\":\"\u0421 \u0434\u043d\u0435\u043c \u0442\u0440\u0443\u0434\u0430!\",\"img\":\"s_img\/news\/036e92f60687608f5f8f76db787bc54d.jpg\"}"
]

Всё работает. Но правильно ли это? или снова костыль замутил?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы