Получить содержимое тела страницы в MODX
Мой сайт MODX должен получить первое изображение со всех страниц для мета-тегов Open Graph, которые будут включены в блок Head для всех шаблонов.
Проблема в том, что не все изображения находятся в content
часть страницы. Некоторые из них расположены внутри чанков, а другие - внутри телевизоров. (Поиск тега изображения из содержимого не является проблемой.)
Возможно, можно получить все блоки и телевизоры и просмотреть их значения для проверки изображений.
Но есть ли способ получить <body>
содержимое ресурса?
1 ответ
Вероятно, несколькими способами вы можете попробовать написать плагин для анализа всего содержимого страницы, похоже, что может использоваться событие OnWebPageComplete ( посмотрите на различные события, чтобы увидеть, является ли одно более подходящим)
Вы можете попробовать извлечь ресурс из кеша, имея в виду, что любые chnks/snippets/TVs, вызываемые на некэшированной странице, не будут отображаться в файле кеша ресурсов.
Вы можете получить список телевизоров после загрузки ресурса, а затем использовать getTVValue для получения значения.
Если у вас есть изображение в чанке, getChunk может работать [возможно, я никогда не пытался использовать его таким образом], чтобы получить его содержимое, но я бы изобразил, что изображение в чанке будет получено с телевизора, так что вы должны возможность получить его с помощью getTVValue.
Вы также можете просто настроить телевизор для изображения OpenGraph и явно установить его постранично.
Вероятно, написание плагина и некоторого регулярного выражения будет наименее болезненным способом добиться этого.