如何将plone插入的内容块转换为重氮主题

如何将plone插入的内容块转换为重氮主题,plone,xdv,diazo,Plone,Xdv,Diazo,我用了一个重氮(目前是plone.app.theming 1.0b1-r48205)和plone 4.1。我想在搜索小部件中使用Plone的html,但我想用替换搜索小部件中用于搜索按钮的元素。这似乎暗示你可以做到这一点 在我的主题html文件中,我有一个空的。在my rules.xml中,我有以下内容: <rules if-content="$enabled"> <replace css:theme="div#portal-searchbox">

我用了一个重氮(目前是plone.app.theming 1.0b1-r48205)和plone 4.1。我想在搜索小部件中使用Plone的html,但我想用
替换搜索小部件中用于搜索按钮的
元素。这似乎暗示你可以做到这一点

在我的主题html文件中,我有一个空的
。在my 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>


我已经尝试了很多不同的方法,但都没有成功。任何帮助都将不胜感激

好的,那么下面的方法就行了。它以前不工作的原因是
不在根级别规则标签中(那里有一个文档错误)。
必须位于根级别规则标记中,因为当前无法将规则条件应用于

<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"/>

更新:我在Diazo中添加了对
的支持,因此内联
被认为是不推荐的。而是使用:

<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"/>


位于

的文档我确实需要一个可复制的示例来提供任何帮助。我建议将你的规则、主题和内容剥离到显示问题所需的最低限度,然后将它们发布到某个地方供我们查看。您需要确保该示例可以从命令行运行(bin/diazorun-如果它不在那里,请使用zc.recipe.egg recipe和eggs=diazo创建一个新的构建部分),正如Laurence建议的那样(谢谢Laurence!)-因为我试图在嵌套的rules元素中执行此操作,所以无法运行。我对我的问题进行了编辑,以澄清这一点。请注意,我最后在我的中放置了一个,这样转换只在$enabled集合中发生