1

我正在尝试通过将 Ektron CMS 与 ASP .Net 一起使用来显示分类学中的内容

通过使用分类路径,我得到了 id 并尝试显示内容。但我得到的内容为空。

请让我知道解决此问题的可能解决方案。等待专家解答。

谢谢,

4

2 回答 2

1

在我的开发环境中,我有以下分类:

const string eventsTaxonomyPath = "\\Upcoming Events";
const long eventsTaxonomyId = 89;

听起来您已经在我喜欢称之为“Legacy API”的地方找到了这种方法(或类似的方法):

var taxonomyApi = new Ektron.Cms.API.Content.Taxonomy();
var taxonomyId = taxonomyApi.GetTaxonomyIdByPath(eventsTaxonomyPath);

如果没有关于您使用的版本的任何信息,我会假设它是最近的(8.5+)版本。框架 API 使得从给定分类中获取内容变得非常容易。以下是在 v9.0 上工作的几种方式,并且很可能在任何 8.5+ 中工作——在开发人员简报网络广播中,v9 中框架 API 的唯一主要变化是包含电子商务命名空间。

通过以下方式获取完整的分类树TaxonomyManager

var taxonomyItemManager = new Ektron.Cms.Framework.Organization.TaxonomyManager();
var taxData = taxonomyItemManager.GetTree(eventsTaxonomyId, includeItems: true);

通过以下方式从给定的分类文件夹中递归获取所有内容ContentManager

var contentManager = new Ektron.Cms.Framework.Content.ContentManager();
var criteria = new ContentTaxonomyCriteria();
criteria.AddFilter(eventsTaxonomyPath, true);
criteria.ReturnMetadata = true;
var content = contentManager.GetList(criteria);

ContentManager方法的潜在缺点是您丢失了分层分类结构。使用 的好处ContentManager是您可以告诉它包含每个内容块的所有元数据。TaxonomyManager使用or是不可能的TaxonomyItemManager

于 2013-07-09T21:06:58.820 回答
0

我的猜测是,您默认使用的“按分类获取内容”功能不会获取内容。你可以——

a) 使用 ID 通过内容管理器 API 获取内容 b) 调查您正在使用的函数是否具有包含内容的覆盖。

于 2013-04-28T13:39:04.230 回答