DocumentHelper.GetDocuments()。InCategories()API方法无法按预期工作

问题描述 投票:0回答:2

我正在尝试获取具有指定类别的给定类型的文档。这是我的代码:

var inCategoryDocuments = DocumentHelper.GetDocuments("XYZ.MyType").InCategories("CategoryCodeName");

这是查询的结果:

SELECT * FROM View_CMS_Tree_Joined AS V WITH (NOLOCK, NOEXPAND) INNER JOIN xyz_MyType AS C WITH (NOLOCK) ON [V].[DocumentForeignKeyValue] = [C].[MyTypeID] AND V.ClassName = N'xyz.MyType' LEFT OUTER JOIN COM_SKU AS S WITH (NOLOCK) ON [V].[NodeSKUID] = [S].[SKUID] WHERE ([DocumentCulture] = N'en-EN' AND 0 = 1)

看起来这个API方法(.InCategories())什么都不做或者我错过了什么?

Kentico v11.0.26

kentico
2个回答
1
投票

此类别是否已分配到特定网站?如果是这样,它将无法工作,因为在您的查询中,您没有指定要从中获取文档的站点。

你可以简单地添加

.OnCurrentSite()

对于你的DataQuery,它看起来像这样

var inCategoryDocuments = DocumentHelper.GetDocuments("XYZ.MyType").OnCurrentSite().InCategories("CategoryCodeName");

它将根据域从当前网站检索文档。

IMO方法。在类别中不应该关注网站或者应该参数化。


0
投票

您需要包含using语句才能工作,因为这些方法是扩展。

using CMS.DocumentEngine;
© www.soinside.com 2019 - 2024. All rights reserved.