在 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 代理查询上应用不止一种排序的主要内容,如果未能解决你的问题,请参考以下文章

Tridion Taxonomy 查询示例的任何好的来源

powershell 从Tridion Sites Core Service获取所有应用程序ID

powershell 用于重新启动SDL Tridion Docs内容管理器服务的脚本。这包括Windows服务,组件服务和IIS应用程序池。

如何在 Tridion 服务器上配置 Tridion 核心服务?

MS Access 排序(比较字符串数据)

在 Tridion 2009 上配置自定义解析器