【问题标题】:Display data from taxonomy using Ektron CMS with ASP.Net使用 Ektron CMS 和 ASP.Net 显示来自分类的数据
【发布时间】:2013-04-27 07:59:35
【问题描述】:

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

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

请告诉我解决此问题的可能解决方案。 等待专家解答。

谢谢,

【问题讨论】:

  • 您使用的是什么版本的 Ektron?你能分享一些代码吗?

标签: asp.net content-management-system taxonomy ektron


【解决方案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+ 的几种方式——在 developer briefing webcast 中,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 的好处是您可以告诉它包含每个内容块的所有元数据。 TaxonomyManagerTaxonomyItemManager 无法做到这一点。

【讨论】:

【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2016-03-10
    • 1970-01-01
    相关资源
    最近更新 更多