2015-04-13 3 views
2

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

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

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

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

ответ

0

Возможно несколько способов, вы можете попробовать написать плагин для разбора через все содержание страницы, выглядит как OnWebPageComplete случае может быть один, чтобы использовать (take a look at the different events to see if one is more appropriate}

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

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

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

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

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

+0

Спасибо. У меня есть настройка телевизора для графа для части блога на сайте. Проблема в том, что я хотел бы получить изображение из одного фрагмента (для того же $ head chunk и для предотвращения дублирования значений). Получение изображения из определенного шаблона не является проблемой. Мне нужно что-то, что бы проверить все куски на теги и на все телевизоры для путей к изображениям. Большая проблема заключается в том, что ввод - это просто текст, а не изображение. Я думаю, что захват содержимого тела до загрузки страницы - это путь. Как я могу захватить вывод html OnWebPageComplete? – MCSharp

+0

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