0

我有一个使用 Umbraco 构建的站点,该站点有一个带有多个小部件设置的侧边栏。我需要设置它,以便其中一个小部件(作为 XSLT 完成)仅显示在某个页面上。我看过使用 xsl:if 测试和匹配但无法弄清楚。

4

1 回答 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 回答