я показываю содержимое документа в оверлее, используя plone/document?ajax_load=True&ajax_include_head=True
в качестве источника для iframe.
в режиме разработки добавление &diazo.off=1
помогло. на рабочем сервере это, к сожалению, не работает, поэтому я добавил параметр ajax_load, как это предлагается в документация plone.app.theming
я завернул все свои директивы в элемент <rules if-not="$ajax_load">
, чтобы убедиться, что они не применяются (см. код ниже)
теперь мне нужно пометить тело страницы iframe определенным классом, чтобы применить разные стили (например, без цвета фона для тела в наложениях)
решение, предложенное для почти аналогичного вопроса, работает только в том случае, если вы используете тему с элементом 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" />
...