我正在使用
plone/document?ajax_load=True&ajax_include_head=True
iframe 的 src 在叠加层中显示文档的内容。
在开发模式下附加&diazo.off=1
就可以了。在生产服务器上,这很遗憾不起作用,所以我按照plone.app.theming 文档中的建议添加了 ajax_load 参数
我将所有指令包装在一个 <rules if-not="$ajax_load">
元素中以确保它们不被应用(见下面的代码)
现在我需要用某个类标记 iframed 页面的主体以应用不同的样式(例如,覆盖中的主体没有背景颜色)
为几乎类似的问题提出的解决方案 仅在您使用的主题具有 body 元素时才有效,该 body 元素具有要操作的类属性。
有没有办法在没有主题的情况下向内容添加类(使用)?还是我必须提供一个空的 html 文档 (index2.html) 作为主题并应用大量规则来复制 css/js 等两次?
<rules if="$ajax_load">
<!-- theme href="index.html" /-->
<notheme />
<!-- only works when using a theme -->
<before theme-children="/html/body"><xsl:attribute name="class"><xsl:value-of select="/html/body/@class"/> my class</xsl:attribute></before>
<!-- thought this could to the trick but does not work at all -->
<xsl:template match="html/body">
<xsl:attribute name="class"> foo</xsl:attribute>
</xsl:template>
</rules>
<rules if-not="$ajax_load">
<theme href="index.html" />
<replace content="/html/head/title" theme="/html/head/title" />
...