3

Plone3 + collective.xdvでいくつかのフォームのスタイルを設定したいのですが、すべてのフォームに特別なスタイルを設定したくありません。

したがって、特定のテンプレートを表示するときに、要素の属性に特別なstyled-formクラス名を追加したいと思います。classbody

  • 連絡先情報
  • sendto_form
  • PFGフォーム

そのため、これらのテンプレートを変更しないようにするために、XDVでこれを実行できると思いました。

XDVルールのディレクティブを使用するif-contentことで、これらのテンプレートが表示されているかどうかを確認できます。

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

例えば。

しかし、Ploneによって提供されたクラス属性を維持し、その条件に基づいて特別なクラスを追加する方法が見つかりません。

私の希望する結果は次のようになります。

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

前もって感謝します。

4

1 に答える 1

3

Diazo / plone.app.themingを使用すると、テンプレートとコンテンツの属性をマージできます。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>

更新:上記の例のタグを忘れました。これで動作するはずです。

于 2011-07-06T17:41:32.957 に答える