3

我正在使用带有 Plone 4.1 的重氮(当前为 plone.app.theming 1.0b1-r48205)。我想将 Plone 的 html 用于搜索小部件,除了我想<input><button>. diazo文档似乎建议您可以这样做。

在我的主题 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 的支持,因此 inline<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 回答