2

我的 MODX 站点需要从所有页面中为 Open Graph Meta 标签获取第一张图片,该标签将插入到所有模板的 Head 块中。

问题在于并非所有图像都位于content页面的一部分中。有些位于 Chunks 内,有些位于 TV 内。(从内容中查找图像标签不是问题。)

有可能获取所有块和电视并循环通过它们的值来检查图像。

但是有没有办法获取<body>资源的内容?

4

1 回答 1

0

可能有几种方法,您可以尝试编写一个插件来解析页面的整个内容,看起来可能是 OnWebPageComplete 事件可以使用(看看不同的事件,看看是否更合适

您可以尝试从缓存中获取资源,请记住,在未缓存的页面中调用的任何 chnks/snippets/TVs 都不会显示在资源缓存文件中。

加载资源后,您可以获得电视列表,然后使用getTVValue获取值。

如果你有一个块中的图像,getChunk可能会工作 [可能,我从未尝试过以这种方式使用它] 来获取它的内容,但我会想象一个块中的图像将来自电视〜所以你应该能够使用 getTVValue 检索它。

您也可以只为 OpenGraph 图像设置电视并逐页显式设置它。

可能编写一个插件和一些正则表达式将是最不痛苦的方式。

于 2015-04-13T20:35:02.147 回答