在 Tridion 代理查询上应用不止一种排序
Posted
技术标签:
【中文标题】在 Tridion 代理查询上应用不止一种排序【英文标题】:Applying more than one sort on a Tridion broker query 【发布时间】:2012-06-29 00:36:06 【问题描述】:我有一个代理查询,我需要按 2 个不同的字段排序(使用 JSP 和 2011 SP1)
API 有我正在应用的方法“addSorting”。
然而,第二个 addSorting 调用似乎覆盖了第一个 addSorting 调用 - 而不是添加第二个排序:
// Sort by Date
CustomMetaKeyColumn customMetaKeyColumnDate = new CustomMetaKeyColumn("date", MetadataType.DATE);
query.addSorting(new SortParameter(customMetaKeyColumnDate, SortParameter.DESCENDING));
// Sort by Owner
CustomMetaKeyColumn customMetaKeyColumnOwner = new CustomMetaKeyColumn("owner", MetadataType.STRING);
query.addSorting(new SortParameter(customMetaKeyColumnOwner, SortParameter.ASCENDING));
它们单独排序工作正常。
这是预期的吗? addSorting 真的是 setSorting - 只能指定 1 个排序,还是我错过了组合 2 个排序的方法?
【问题讨论】:
嗨,乔纳森,我快速查看了一些代码,在我看来,它应该能够处理对 addSorting 的多次调用。您可以检查针对数据库触发的查询吗? 【参考方案1】:addSorting 方法工作得很好。但是,它根本不适用于 CustomMeta 列!!!已确认有关此主题的缺陷,摘要如下:“SortParameter 不适用于两个元数据字段”。这仍然是 2011SP1 的一个未解决的缺陷,计划仅在下一个版本中修复。
干杯, 丹尼尔。
【讨论】:
很好的答案,我们是否有兴趣提交Area 51 Tridion specific proposal。如果有时间,请使用同一个 SO 帐户注册。以上是关于在 Tridion 代理查询上应用不止一种排序的主要内容,如果未能解决你的问题,请参考以下文章
powershell 从Tridion Sites Core Service获取所有应用程序ID
powershell 用于重新启动SDL Tridion Docs内容管理器服务的脚本。这包括Windows服务,组件服务和IIS应用程序池。