我想在我的页面上放置复选框,对应于某些标签。 然后我希望用户能够过滤出文章,具体取决于勾选的复选框。 例如:用户想要阅读关于苹果和橙子的内容,因此勾选“苹果”和“橙子”,结果应该是两个都被标记的文章,但不仅仅是苹果或只有橙子。
知道我怎么能在Umbraco做到这一点? 我正在使用umbraco 4.7
答案 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>
这将找到当前页面下水果标签设置为“橙色”的所有文章节点,然后显示每篇文章的标题。