3

私はPlone4.1でジアゾ(現在はplone.app.theming 1.0b1-r48205)を使用しています。<input>検索ウィジェットの検索ボタンに使用される要素を。に置き換えたいことを除いて、検索ウィジェットにPloneのhtmlを正確に使用したいと思います<button>ジアゾのドキュメントはあなたがこれを行うことができることを示唆しているようです。

私のテーマのhtmlファイルには空のがあります<div id="portal-searchbox"></div>。私のrules.xmlには、次のものがあります。

<rules if-content="$enabled">
    <replace css:theme="div#portal-searchbox">
        <xsl:apply-templates css:select="div#portal-searchbox" />
    </replace>    
    <xsl:template css:match="div#portal-searchbox input.searchButton">
        <button type="submit"><img src="images/search.png" alt="Search" /></button>
    </xsl:template>
</rules>

私はこれの多くのバリエーションを試しましたが、成功しませんでした。どんな助けでも大歓迎です。

4

1 に答える 1

6

さて、次のように動作します。以前は機能していなかった理由は、<xsl:template>がルートレベルのルールタグに含まれていなかったためです(ドキュメントのバグがあります)。現在<xsl:template>にルール条件を適用する方法がないため、はルートレベルのルールタグに含まれている必要があります<xsl:template>

<xsl:template css:match="div#portal-searchbox input.searchButton">
     <button type="submit"><img src="images/search.png" alt="Search" /></button>
</xsl:template>

<replace css:theme="div#portal-searchbox" css:content="div#portal-searchbox"/>

更新:<replace content="..."> Diazoにサポートを追加したので、インライン<xsl:template>は非推奨と見なされます。代わりに以下を使用してください:

<replace css:content="div#portal-searchbox input.searchButton">
    <button type="submit"><img src="images/search.png" alt="Search" /></button>
</replace>
<replace css:theme="div#portal-searchbox" css:content="div#portal-searchbox"/>

http://diazo.org/advanced.html#modifying-the-content-on-the-flyのドキュメント

于 2011-04-22T15:15:02.293 に答える