Создать страницу только для контента для мобильной новостной ленты в modx

Мне было поручено предоставить бэкэнд для новостной ленты, которая будет использоваться приложениями нашей компании. Лента будет извлекать статьи с нашего текущего веб-сайта, созданного с помощью ModX (evolution). До сих пор я разработал канал для отправки JSON через указанный URL-адрес, содержащий необходимую информацию. В настоящее время он находится в следующем формате (с использованием заполнителей Ditto):

{
  "title":"[+longtitle+]",
  "description":"[+description+]",
  "link":"[(site_url)][~[+id+]~]"
},

Вот моя проблема - ссылка, которую я предоставляю через JSON (в link tag) открывает полную версию страницы на рабочем столе. Наш текущий сайт не отвечает требованиям и изначально не был предназначен для работы с мобильными устройствами. Мы хотели бы открыть небольшую чистую страницу, показывающую ТОЛЬКО ['content'] этой конкретной статьи. Я ищу способ ссылки на страницу, показывающую только этот контент - без заголовка, без нижнего колонтитула, ничего.

Я знаю, что мог бы создать новую страницу, чтобы справиться со всем этим, но она должна быть динамичной. Новые статьи создаются регулярно, и я бы не хотел добавлять еще одну страницу, чтобы справиться с этим для каждой статьи, а также облегчить интеграцию этой функции команде писателей.

Пока одна из моих идей:

  • Передайте параметр GET URL-адресу "ссылка" в JSON - что-то вроде - www.mysite.com/article1?contentOnly=true, Затем, в моей статье, найдите этот параметр в PHP и обработайте его соответствующим образом. Мне понадобится этот фрагмент в каждой написанной статье, поэтому он может вызвать проблемы в будущем, если наши штатные авторы забудут добавить его.

Я не работал с ModX долго, поэтому я предполагаю, что есть лучший способ справиться с этим. Любые идеи очень приветствуются. Пожалуйста, дайте мне знать, если мне нужно предоставить больше информации.

1 ответ

Решение

Я не уверен на 100 %, как ты это сделал, но вот мой совет.

Не используйте сам ресурс для вывода JSON. Выполнение этого на основе GET-параметра потребует кэширования всего сайта. Вместо этого используйте один ресурс для подачи и укажите там id/permalink.

Например: mysite.com/feed?id=1, mysite.com/feed?latest или что-то типа того.

Сделанный таким образом, у вас может быть пустой шаблон с только фрагментом, который разбирает на JSON. Конечно, это должно быть кэшировано, но остальная часть сайта может быть кэширована как обычно.

Другие вопросы по тегам