我有一个使用 Umbraco 构建的站点,该站点有一个带有多个小部件设置的侧边栏。我需要设置它,以便其中一个小部件(作为 XSLT 完成)仅显示在某个页面上。我看过使用 xsl:if 测试和匹配但无法弄清楚。
问问题
127 次
1 回答
1
您走在正确的轨道上,但要养成在问题中包含您已经尝试过的内容(代码等)的习惯。
快速+肮脏的方法
找出您页面的 ID(在内容部分的节点的属性选项卡上找到)并使用以下代码:
<xsl:if test="$currentPage/@id = 1234">
<!-- your widget here -->
</xsl:if>
更清洁的方法
始终尝试将代码构建为可扩展的,例如,您可能会发现将来希望将小部件包含在另一个页面上,或者将内容从登台部署到生产可能涉及节点 ID 在您没有意识到的情况下更改(不经常,但可能发生)。
将属性添加到相关页面(让我们称之为showMyFancyWidget
)作为真/假数据类型,在内容部分中轻弹它,然后使用以下代码:
<xsl:if test="$currentPage/showMyFancyWidget = 1">
<!-- your widget here -->
</xsl:if>
此代码适用于 Umbraco v4.5.1 及更高版本。对 v5 不太确定,但无论如何它已经停止支持 v4.7
于 2012-06-27T11:46:43.270 回答