Получить содержимое тела страницы в MODX

Мой сайт MODX должен получить первое изображение со всех страниц для мета-тегов Open Graph, которые будут включены в блок Head для всех шаблонов.

Проблема в том, что не все изображения находятся в content часть страницы. Некоторые из них расположены внутри чанков, а другие - внутри телевизоров. (Поиск тега изображения из содержимого не является проблемой.)

Возможно, можно получить все блоки и телевизоры и просмотреть их значения для проверки изображений.

Но есть ли способ получить <body> содержимое ресурса?

1 ответ

Вероятно, несколькими способами вы можете попробовать написать плагин для анализа всего содержимого страницы, похоже, что может использоваться событие OnWebPageComplete ( посмотрите на различные события, чтобы увидеть, является ли одно более подходящим)

Вы можете попробовать извлечь ресурс из кеша, имея в виду, что любые chnks/snippets/TVs, вызываемые на некэшированной странице, не будут отображаться в файле кеша ресурсов.

Вы можете получить список телевизоров после загрузки ресурса, а затем использовать getTVValue для получения значения.

Если у вас есть изображение в чанке, getChunk может работать [возможно, я никогда не пытался использовать его таким образом], чтобы получить его содержимое, но я бы изобразил, что изображение в чанке будет получено с телевизора, так что вы должны возможность получить его с помощью getTVValue.

Вы также можете просто настроить телевизор для изображения OpenGraph и явно установить его постранично.

Вероятно, написание плагина и некоторого регулярного выражения будет наименее болезненным способом добиться этого.

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