7

我想知道如何使用带有主题的 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>

并在此处进行了描述: 使用带有 notheme 的 diazo 将类添加到 body 标签,但仅在设置 notheme 时才有效。

那么我怎样才能将一个简单的附加 css 类即时放入 body 标记中呢?

编辑:这适用于纯重氮与主题和克隆(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

4

1 回答 1

2

@MrTango 使用的解决方案在这里描述:https ://plone-theming-with-diazo.readthedocs.org/en/latest/snippets_diazo/recipes/index.html#add-css-class-depending-on-existing-门户列

于 2013-03-27T13:46:40.037 回答