Query.QueryOperator.AND_Field我们使用在外表套上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的文件中提到的经纪查询机制?
谢谢。
在支持SDL Tridion 2011内容交付,您创建一个Query
对象,并添加一个Criteria
使用对象将其setCriteria
方法。 所述Query
对象接受一个标准唯一对象,但Criteria
对象又可以参考其他Criteria
在树结构中的对象。
为了创建同时使用AND和OR运算查询过滤器的一个很好的例子,请参阅创建过滤器在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;