Mi chiedo come aggiungere una classe al tag del corpo utilizzando Diazo con il tema impostato. Userò if-content
per verificare se lo portal-column-two
esiste o meno e, a seconda di ciò, inserire una classe nel tag del corpo.Aggiungi classe al tag del corpo utilizzando diazo con il tema attivato
Una soluzione è:
ed è descritta qui: Add class to body tag using diazo with notheme ma funziona solo se notheme è impostato.
Quindi, come posso inserire una semplice classe css aggiuntiva nel body tag al volo?
EDIT: Questo funziona con pura Diazo con il tema e in 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>
E sulla base di condizioni:
<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>
La mia soluzione finale è descritta qui : https://plone-theming-with-diazo.readthedocs.org/en/latest/snippets_diazo/recipes/index.html#add-css-class-depending-on-existing-portal-columns
Poco correlati, ecco come aggiungere le classi del corpo con Python: http://developer.plone.org/templates_css_and_javascripts/css.html#adding-new-css-body-classes –
ciao Mikko, grazie per la tua risposta ma ero alla ricerca di pura soluzione Diazo/XSLT. – MrTango
Mi chiedo: non risponde a questa domanda? – romanofski