gpt4 book ai didi

Tridion:替换 Query.QueryOperator 方法?

转载 作者:行者123 更新时间:2023-12-02 12:15:34 26 4
gpt4 key购买 nike

Query.QueryOperator.AND_Field我们在 Tridion R5.3 VBscript 模板中使用了这种方法,效果很好。最近,在迁移到Tridion 2011 SP1时,我们尝试使用此方法,但它不起作用。我们了解到该方法在新的 tridion 版本中已被弃用。

根据论坛中的一些帖子,我们还在 CD_Storage_Conf 中启用了以下几行:

<SearchFilter Name="SearchFilter" Class="com.tridion.broker.components.meta.MsSqlSearchFilterHome" defaultStorageId="defaultdb"/> 
<Item typeMapping="Query" storageId="defaultdb"/>

问题是,“Query.QueryOperator.AND_Field”方法的替换是什么?我们如何在 C# 中使用这个过滤器?如何使用支持API文件中提到的Broker查询机制?

谢谢。

最佳答案

在 SDL Tridion 2011 Content Delivery 中,您可以创建一个 Query 对象,并使用 setCriteria 方法向其中添加一个 Criteria 对象。 Query 对象ONLY 接受一个 Criteria 对象,但该 Criteria 对象又可以引用一个 Criteria 对象中的其他 Criteria 对象。树结构。

有关使用 AND 和 OR 运算符创建查询过滤器的好示例,请参阅 Creating a filter在 SDL LiveContent 的 SDL Tridion 2011 SP1 文档中。

// Schema has ID of either 511 (Article) or 34 (Press Release).
ItemSchemaCriteria IsArticle = new ItemSchemaCriteria(511);
ItemSchemaCriteria IsPressRelease = new ItemSchemaCriteria(34);
Criteria IsArticleOrPressRelease = CriteriaFactory.Or(IsArticle, IsPressRelease);

// Type of the item is 16 (Component).
ItemTypeCriteria IsComponent = new ItemTypeCriteria(16);

// Both of the above conditions must be true
Criteria AllCriteria = CriteriaFactory.And(IsArticleOrPressRelease, IsComponent);

// Add these criteria to a query
Query MyQuery = new Query();
MyQuery.Criteria = AllCriteria;

关于Tridion:替换 Query.QueryOperator 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12390664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com