SharePoint 内容查询、分类术语库和 XSL 转换
Posted
技术标签:
【中文标题】SharePoint 内容查询、分类术语库和 XSL 转换【英文标题】:SharePoint Content Query, Taxonomy term store and XSL transformation 【发布时间】:2013-10-12 02:23:43 【问题描述】:我的分类术语库中有如下内容:
+ [Managed Metadata Service]
+ Earth (Group)
+ Continents (Term Set)
+ Europe (Term)
- Italy (Term)
- France (Term)
+ Asia (Term)
- China (Term)
- India (Term)
我的页面布局中有一个托管元数据列,它接受多个值。
我有以下页面使用此页面布局及其元数据值:
陶瓷(中国) 老虎(中国、印度) 印度教(印度) 贡多拉(意大利) 马卡龙(法国)在另一个页面 (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。 China 和 India 的展开/折叠会很棒,但没有必要。我可以自己做一个。我只是在 xsl 转换方面没有太多经验。
【问题讨论】:
如果您发布 XML 起点和目标,您可能会从非 SharePoint XSLT 人群中获得有用的响应。 我不知道如何获得那些 tbh 内容查询 webpart 由于 xsl 转换而极难实现。为什么不尝试使用 Sharepoint 对象模型的可视化 webpart 来获取数据? 列允许多个值的事实 - 使事情变得非常复杂。在 XSL 中做到这一点真的很不容易。怎么样创建一个WP继承CQWP,在里面可以修改结果,为这个列包含多个值的每一项分别创建一个结果? 我们做过类似的事情,我们使用 jquery SPServices 来获取库中的所有页面,然后根据标签处理和隔离它们。与此相反的是,如果您在 lib 中有很多页面,那么它会很慢。 【参考方案1】:我能给你的最好的东西就是使用
<xmp><xsl:copy-of select="*" /></xmp>
这样您就可以看到所有的 xml 响应并正确查询。
分类字段类似于“value#guid”,因此您需要使用替换实现。
最后我强烈建议转移到搜索,搜索内容 WP 可以做任何 CQWP 可以做的事情,而且过滤更容易和动态,你可以使用 html/js 模板而不是 xsl。
如果您担心“在线/实时”结果然后使用继续爬网,对于拥有多达 370 万个项目的场,它可以设置为 1 分钟并且您有在线结果。
【讨论】:
以上是关于SharePoint 内容查询、分类术语库和 XSL 转换的主要内容,如果未能解决你的问题,请参考以下文章