0

我正在使用 KenticoCloud DeliveryClient 与 Kentico Cloud 合作。问题是我正在加载包含 BodyContent 的 NewsArticle 数据。BodyContent 有一些应该由解析器解析的 InlineContentItemData。我添加了 PartnerList(包含多个 Partner 项的项)、Carousel(包含多个 ImageGridItem 项的项)和一些 HTML 文本。

这是发出请求的代码:

var response = await Client.GetItemsAsync<NewsArticle>(
    new EqualsFilter("system.type", "news_article"),
    new OrderParameter("elements.date", SortOrder.Descending)
);

(就是得到一个完整的文章列表,然后我们找到想要的文章。我知道我可以使用 Url Slug 来检索内容,但是我需要完整列表来获取其他东西)

问题是在 JSON 响应中,有 Carousel 和 PartnerList 项目,它们都包含我从 CMS 添加的项目,但 JSON 中没有显示单个 Carousel 项目 (ImageGridItem),只有合作伙伴项目。

谢谢

4

1 回答 1

2

这种行为可能有多种原因。我假设您在富文本和代码优先方法中使用基于字符串的项目呈现,因此您应该定义ICodeFirstTypeProvider 实现和解析器

可能的解决方案:

  1. 检查在ICodeFirstTypeProvider指向Partner类的实现中是否正确定义了代号。
  2. 您也可以尝试使用DepthParameter 来强制更深入地加载数据,但这不太可能解决问题,因为检索到各个轮播项目并且它们处于相同的深度级别。

如果任何假设是错误的,请告诉我。如果您愿意分享您正在加载的所有内容类型的实现ICodeFirstTypeProvider和实现。IInlineContentItemsResolver

如果您想直接从您的项目中调试 SDK 并自行查找原因,则可以使用 SourceLink

于 2019-01-27T20:24:45.460 回答