2011-07-06 24 views
3

Plone3 + collective.xdvでいくつかのフォームをスタイルしたいと思いますが、すべてのフォームが特別なスタイルになることは望ましくありません。XDVを使ってbody要素にクラスを追加する

  • コンタクト情報
  • sendto_form
  • PFGは
  • を形成:

    だから私は、特定のテンプレートを表示するだけでbody要素のclass属性に特別なstyled-formクラス名を追加したいです

私は、これらのテンプレートを変更しないために、XDVでこれを実行することができたと思いました。これらのテンプレートが表示されている場合、私がチェックすることができXDVのルールでif-contentディレクティブを使用することにより

:インスタンスの

css:if-content="body.template-contact-info" 

しかし、私はPloneが提供するように、クラス属性を保つへの道を見つけ、その条件に基づいて特別なクラスを追加しないでください。事前に

<body class="template-contact-info styled-form"> 
    ... 
</body> 

ありがとう:

私の望ましい結果は次のようなものになるだろう。ジアゾ/あなたは、テンプレートとコンテンツの属性をマージすることができplone.app.themingで

答えて

3

、以下を参照してください。あなたがアップグレードできない場合http://diazo.org/basic.html#merge

あなたはインラインXSLでこれを行う必要があります、のようなもの:

<prepend theme="/html/body" css:if-content="body.template-contact-info"><xsl:attribute name="class"><xsl:value-of select="/html/body/@class"/> styled-form</xsl:attribute></prepend> 

更新: Iは、上記の例では、タグを忘れてしまいました。今はうまくいくはずです。

+0

これは*ほぼ*動作します。 '' template-contact-info styled-form ... '' XDVに挿入するように指示する方法は?それは '' class''属性の中にありますか? – marcosfromero

+0

あなたはそれを得ることができると思います: styled-form

+0

@ davi-lima:いいえ、明らかに '' theme''は属性を受け付けません。私はディアゾーの「合併」のルールがうまくいくと思う。しかし、私はジアゾを持っていませんが、collective.xdv – marcosfromero

関連する問題