2012-11-16 12 views
7

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

+1

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 –

+1

ciao Mikko, grazie per la tua risposta ma ero alla ricerca di pura soluzione Diazo/XSLT. – MrTango

+0

Mi chiedo: non risponde a questa domanda? – romanofski

risposta

Problemi correlati