我有一个简单的 SDL Tridion 2011 SP1 代理查询来检索组件 URI 列表。我所有的组件都嵌入在页面上,而不是使用动态组件模板。以下代码返回 50 个结果(这是意料之中的)。其中之一是 URI tcm:123-456-16。
List<Criteria> criteria = new List<Criteria>();
criteria.Add(new ItemTypeCriteria(16));
criteria.Add(new PublicationCriteria(337));
Query query = new Query(CriteriaFactory.And(criteria.ToArray<Criteria>()));
String[] results = query.ExecuteQuery();
组件 tcm:123-456-16 基于名为“News Portal”的模式。我想为我的查询添加额外的条件,以便我只获取基于该模式的项目,所以我尝试了以下代码:
List<Criteria> criteria = new List<Criteria>();
criteria.Add(new ItemTypeCriteria(16));
criteria.Add(new PublicationCriteria(337));
criteria.Add(new SchemaTitleCriteria("News Portal"));
Query query = new Query(CriteriaFactory.And(criteria.ToArray<Criteria>()));
String[] results = query.ExecuteQuery();
这根本不返回任何结果。我已经仔细检查了我的架构名称。这是预期的反应吗?是否SchemaTitleCriteria
需要将组件发布为动态组件演示。任何建议将不胜感激。