SharePoint内容查询、分类术语存储和XSL转换

4

我在我的分类术语库中有类似以下的内容:

+ [Managed Metadata Service]
  + Earth (Group)
    + Continents (Term Set)
      + Europe (Term)
        - Italy (Term)
        - France (Term)
      + Asia (Term)
        - China (Term)
        - India (Term)

我有一个页面布局中管理的元数据列,可以接受多个值。
以下是使用此页面布局及其元数据值的页面:
  • Ceramics(中国)
  • Tiger(中国,印度)
  • Hinduism(印度)
  • Gondola(意大利)
  • Macaron(法国)
在另一页(groupings.aspx)上,我有一个内容查询 Web 部件。我想要的是让它显示“亚洲”这样的值:
[+] China
      Ceramics (link to the Ceramics page)
      Tiger    (link to the Tiger page)
[+] India
      Hinduism (link to the Hinduism page)
      Tiger    (link to the Tiger page)

我需要帮助选择筛选器并为内容查询开发XSL。对于中国和印度的展开/折叠功能很好,但不是必要的。我可以自己完成这个任务。我只是没什么经验进行XSL转换。


1
如果您发布XML起始点和目标,非SharePoint XSLT群体可能会给您提供有用的回复。 - kjhughes
我不知道如何获取那些。 - kei
内容查询 WebPart 由于 XSL 转换非常难以实现。为什么不尝试使用 Sharepoint 对象模型来获取数据,使用可视化 WebPart 呢? - Luis
1
列允许多个值的事实使情况变得非常复杂。 在XSL中做这个真的不容易。 创建一个继承CQWP的WP,你可以在其中修改结果,并为每个包含该列多个值的项目创建单独的结果,这个怎么样? - banana
我们曾经做过类似的事情,使用jQuery SPServices获取库中的所有页面,然后根据标签进行处理和分类。缺点是如果库中有很多页面,它会变得很慢。 - Nikunj
1个回答

0

我能给你的最好建议就是使用

<xmp><xsl:copy-of select="*" /></xmp>

这样你就可以轻松查看所有的XML响应并进行查询。

分类字段以"value#guid"的形式出现,因此您需要使用替换实现。

最后,我强烈建议转向搜索,Search Content WP可以做到CQWP所能做的一切,而且过滤更加简单和动态,您可以使用HTML/JS模板而不是XSL。

如果您担心“在线/实时”结果,那么请使用持续爬行,它可以设置为1分钟,适用于高达370万个项目的农场,您将获得在线结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接