我想知道如何使用带有主题的Diazo设置一个类到body标签。
我将使用if-content
来检查portal-column-two
是否存在,并以此将一个类放入body标记中。
一种解决方案是:
<replace theme="/html/body/@class">
<xsl:attribute name="class"><xsl:copy-of select="." /> three_col</xsl:attribute>
</replace>
并在此处进行描述:
Add class to body tag using diazo with notheme,但仅在设置了notheme时有效。
那么,如何动态地将一个简单的附加CSS类放入body标记中?
编辑:
这适用于带有主题和Plone(plone.app.theming)的纯重氮:
<before theme-children="/html/body"><xsl:attribute name="class"><xsl:value-of select="/html/body/@class" /> three_col</xsl:attribute>
</before>
并根据条件:
<before theme-children="/html/body" css:if-content="#portal-column-two">
<xsl:attribute name="class"><xsl:value-of select="/html/body/@class" /> three_col</xsl:attribute>
</before>
<before theme-children="/html/body" css:if-not-content="#portal-column-two">
<xsl:attribute name="class"><xsl:value-of select="/html/body/@class" /> two_col</xsl:attribute>
</before>
我的最终解决方案在这里描述:https://plone-theming-with-diazo.readthedocs.org/en/latest/snippets_diazo/recipes/index.html#add-css-class-depending-on-existing-portal-columns
最佳答案
@MrTango使用的解决方案在此处描述:https://plone-theming-with-diazo.readthedocs.org/en/latest/snippets_diazo/recipes/index.html#add-css-class-depending-on-existing-portal-columns
关于xslt - 使用带有主题的 Diazo 元素将类添加到 body 标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13420114/