我有以下问题。我的节点树如下所示:
主页
新闻区
活动区域
当你想在主站点上显示它时,一切都很好。
<xsl:for-each select="$currentPage/eventsArea/simpleEvent [@isDoc and string(umbracoNaviHide) != '1']">
但是,这只能在我网站的主页上找到。当我转到子页面时,此解决方案不再起作用。
有谁知道如何解决它?
答案 0 :(得分:0)
所以我假设您想要在每个页面上显示事件列表,例如在侧栏上
为此,请$currentPage
从/root/home
开始,而不是从<xsl:for-each select="/root/home/eventsArea/simpleEvent [@isDoc and string(umbracoNaviHide) != '1']">
开始:
<xsl:for-each select="//simpleEvent [@isDoc and string(umbracoNaviHide) != '1']">
或者如果您想查找所有simpleEvent页面而不管它们存在于何处,请执行以下操作:
{{1}}
如果有人更改文件夹结构,后者将继续工作。
答案 1 :(得分:0)
不幸的是,第一个和第二个不起作用。
如果代码如下所示:
<xsl:for-each select="$currentPage/eventsArea/simpleEvent [@isDoc and string(umbracoNaviHide) != '1']">
<xsl:sort select="@createDate" order="descending" />
<xsl:if test="position() <= $numberOfItems">
<a href="{umbraco.library:NiceUrl(@id)}"><xsl:value-of select="@nodeName"/></a>
<p><xsl:value-of select="umbraco.library:TruncateString(umbraco.library:StripHtml(bodyText), number($excerptLength), '...')" disable-output-escaping="yes"/></p>
</xsl:if>
</xsl:for-each>
一切正常。
<xsl:for-each select="/root/home/eventsArea/simpleEvent [@isDoc and string(umbracoNaviHide) != '1']">
或
<xsl:for-each select="//simpleEvent [@isDoc and string(umbracoNaviHide) != '1']">
不要显示任何内容。