Xsd plone.app.theming包括来自外部网站的内容

Xsd plone.app.theming包括来自外部网站的内容,xsd,plone,diazo,xdv,Xsd,Plone,Diazo,Xdv,这似乎是可能的,但我遗漏了一些东西。我正在使用plone.app.theming(diazo)。我正试图从cold fusion网站上获取页面。我可以使用获取要加载的第一个页面,但该页面随后具有引用更多数据页面的URL。URL的格式如下:“/audiumbients\u classes\u info.cfm?crse=001A§num=A”(Plone非常乐意解析它),我尝试了各种排列方式,但似乎无法实现 我还需要将url传递给该命令,以便能够获取实际数据 非常感谢您的帮助--也许我

这似乎是可能的,但我遗漏了一些东西。我正在使用plone.app.theming(diazo)。我正试图从cold fusion网站上获取页面。我可以使用获取要加载的第一个页面,但该页面随后具有引用更多数据页面的URL。URL的格式如下:“/audiumbients\u classes\u info.cfm?crse=001A§num=A”(Plone非常乐意解析它),我尝试了各种排列方式,但似乎无法实现


我还需要将url传递给该命令,以便能够获取实际数据


非常感谢您的帮助--也许我处理得不对?

除非我误解了您的问题(总是可能的),否则我认为您误解了p.a.主题。p、 a.主题化可以包括来自远程站点的主题资产(例如模板、图像),但它既不用于也不真正能够代理来自远程站点的内容

在处理完请求之前依赖远程服务是一个非常糟糕的主意。想象一下,网站宕机或运行缓慢?现在,您正在等待它完成或超时,然后再提供页面

更好的解决方案是使用javascript拉入页面内容

它可能看起来像这样:

$(document).ready(function(){
  $('#containerofcontent').load('http://remoteurl #contentselector');
});
假设您的站点位于不同的域中,您还需要在远程站点上设置一些特殊的头,以便浏览器允许ajax请求:

Access-Control-Allow-Origin: http://plonesiteurl

不过,用任何web服务器覆盖标题都非常容易。

您可以通过指定href属性来包含外部站点的内容,如下所述:

您需要在plone.app.theming中启用“读取网络”选项以允许包含外部URL,请参阅:


正如其他人所指出的,这确实会对性能产生影响,但是如果缓存生成的页面,这可能没问题。您可以通过缓存片段并使用diazo站点上记录的SSI或ESI方法选项来避免性能损失,但是您需要设置Nginx来运行filter.xsl样式表或diazo代理。

这也不是一个好主意。在您完成处理自己的请求之前,取决于远程请求会导致灾难。我认为您可能是正确的,我需要实际使用完整版本的diazo,而不是plone.app.Theming是的,您可以使用独立的diazo对cold fusion和plone页面进行类似/相同的主题设置(但它仍然不允许您在Plone生成的页面中直接插入CF页面内容,但如果有足够的主题,则可能不需要)。如果您认为我的答案足够正确,请接受我的答案。;-)