在Umbraco 4.7中过滤包含多个标签的页面

时间:2012-02-14 12:43:02

标签: umbraco

我想在我的页面上放置复选框,对应于某些标签。 然后我希望用户能够过滤出文章,具体取决于勾选的复选框。 例如:用户想要阅读关于苹果和橙子的内容,因此勾选“苹果”和“橙子”,结果应该是两个都被标记的文章,但不仅仅是苹果或只有橙子。

知道我怎么能在Umbraco做到这一点? 我正在使用umbraco 4.7

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。最简单(但不是最具可扩展性)的是创建一个名为“fruit”的复选框数据类型。这将添加到您希望能够过滤的所有文档类型中。

然后,您可以使用XLST / XPATH将文档类型过滤为具有选定水果的文档类型。

修改

您需要访问并显示特定文章的选定水果标签的XSLT类似于:

<xsl:variable name="items" select="umbraco.library:Split($fruit,',')" />
<xsl:for-each select="$items//value">
   <xsl:value-of select="umbraco.library:GetPreValueAsString(current())"/>
</xsl:for-each>

在过滤文章集合的上下文中,您可以使用以下代码:

<xsl:for-each select="$currentPage//Article [umbraco.library:Split(./fruit,',')//value = 'orange']">
   <xsl:value-of select="./@nodeName"/>
</xsl:for-each>

这将找到当前页面下水果标签设置为“橙色”的所有文章节点,然后显示每篇文章的标题。