Plone xsl:attributes去掉了;内容“;

Plone xsl:attributes去掉了;内容“;,plone,diazo,Plone,Diazo,我在用重氮写一些规则。如果用户浏览“查看器”部分(浏览器视图,而不是真正的plone文件夹),我希望在globalnav中删除“主页”选项卡的“选定”类,并将“选定”类放入“查看器”选项卡 挑选出来的 但结果是它是一个正确的li portaltab查看器,具有“selected”类,但内部没有任何内容!我在门户globalnav O.O中获得一个空的“li”标记 怎么了? Vito您需要使用xsl:apply模板递归到元素的内容中。尝试: <replace if-path="/view

我在用重氮写一些规则。如果用户浏览“查看器”部分(浏览器视图,而不是真正的plone文件夹),我希望在globalnav中删除“主页”选项卡的“选定”类,并将“选定”类放入“查看器”选项卡


挑选出来的
但结果是它是一个正确的li portaltab查看器,具有“selected”类,但内部没有任何内容!我在门户globalnav O.O中获得一个空的“li”标记

怎么了?
Vito

您需要使用xsl:apply模板递归到元素的内容中。尝试:

<replace if-path="/viewer" css:content-children="li#portaltab-viewer"><xsl:attribute name="class">selected</xsl:attribute><xsl:apply-templates select="node()"/></replace>
已选定

xsl:属性前缺少空格是必要的,因为我想我从来没有让Diazo忽略xsl:*元素周围的空格。

我也用href属性尝试过这个规则,但在这种情况下,您的代码不起作用-/在这种情况下,您应该将其减少到可以使用diazorun运行的最小失败示例,以便我可以重现问题。
<replace if-path="/viewer" css:content-children="li#portaltab-viewer"><xsl:attribute name="class">selected</xsl:attribute><xsl:apply-templates select="node()"/></replace>