在Umbraco 4.7中筛选具有多个标记的页面

在Umbraco 4.7中筛选具有多个标记的页面,umbraco,Umbraco,我想在我的页面上设置复选框,对应于某些标记。 然后我希望用户能够根据勾选的复选框筛选出文章。 例如:用户希望阅读有关苹果和桔子的文章,因此在苹果和桔子上都打勾,结果应该是文章,其中两个都有标签,但不只是苹果或桔子 你知道我在翁布拉科怎么做吗? 我正在使用umbraco 4.7有几种方法可以做到这一点。最简单但不是最具可伸缩性的方法是创建一个名为fruit的checkbox数据类型。这将添加到您希望能够筛选的所有文档类型中 然后,您可以使用XLST/XPATH将文档类型筛选为具有选定结果的文档类型

我想在我的页面上设置复选框,对应于某些标记。 然后我希望用户能够根据勾选的复选框筛选出文章。 例如:用户希望阅读有关苹果和桔子的文章,因此在苹果和桔子上都打勾,结果应该是文章,其中两个都有标签,但不只是苹果或桔子

你知道我在翁布拉科怎么做吗?
我正在使用umbraco 4.7

有几种方法可以做到这一点。最简单但不是最具可伸缩性的方法是创建一个名为fruit的checkbox数据类型。这将添加到您希望能够筛选的所有文档类型中

然后,您可以使用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>
在筛选文章集合的上下文中,您可以使用以下代码:

<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>

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

所有文章都具有标签。我没有XSLT/XPATH方面的经验,您能为我指出正确的方向吗?谢谢谢谢,我会试试看: