3

rules.xml に次のスニペットがあります。

<!-- Fix search box to honour Plone rules-->
<replace css:theme="form#search">
    <form action="http://localhost:8080/LS/search" name="form1" id="search">
        <input type="text" name="SearchableText" onclick="make_blank();" onblur="keep_search();" class="search_text_style content_text2"/>       
        <input type="image" src="++resource++lsm/images/template/search.png" width="22" height="22" class="search_btn" />
</form>
</replace>

Ploneサイトオブジェクトに基づいて実際のURLに設定するように、動的属性をXSLに渡すにはどうすればよいですか?

ヘルパー ビューを提供したり、XDVTransform を変更したりすることでこれを行うことができますが、ここで推奨されるアプローチをまず知りたいと思います。

4

2 に答える 2

1

plone.app.theming / Diazo では、TAL を使用してパラメーターを定義し、それらをテーマに渡すことができることに注意してください。

この場合、属性 value-of を使用して、コンテンツから実際の検索 URL (またはホーム URL) を取得するだけでよいと思います。

于 2011-04-20T22:27:29.743 に答える
0

<xsl:param>これにはグローバルが必要だと思います

通常、グローバル パラメータの値は、変換が開始される直前に、変換の開始者によって設定されます。これは、静的でない XSLT 変換値を渡す一般的な方法として認識されています (スタイルシートのコンパイル時に認識されます)。

例を次に示します。

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:param name="pUrl" select="'http://www.cnn.com'"/>

 <xsl:template match="/">
  <t href="{$pUrl}"/>
 </xsl:template>
</xsl:stylesheet>

この変換が任意の XML ドキュメント (使用されていない) に適用されると、結果は次のようになります。

<t href="http://www.cnn.com" />

グローバル パラメータ値の設定方法は実装に依存し、XSLT プロセッサごとに異なります。XSLT プロセッサのドキュメントを読んで、これを行う方法を理解してください。

于 2011-04-20T22:07:46.527 に答える