问题标签 [kentico-kontent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
950 浏览

c# - 防止 Automapper 将 IEnumerable 属性转换为列表

我正在尝试将模型映射到具有从 IEnumerable 继承的类型属性的 ViewModel。属性具有相同的类型和名称,但 Automapper 将源转换为通用列表,然后无法映射到目标。

这些是我要映射的类:

以下是定义了 IRichTextContent 类型的第三方代码:

我的自动映射器简介:

这是我得到的错误:

处理请求时发生未处理的异常。InvalidCastException:无法将“System.Collections.Generic.List`1[KenticoCloud.Delivery.IRichTextBlock]”类型的对象转换为“KenticoCloud.Delivery.IRichTextContent”类型。lambda_method(闭包,BasicOverview,BlogOverviewViewModel,ResolutionContext)

AutoMapperMappingException:错误映射类型。

映射类型:BasicOverview -> BlogOverviewViewModel

类型地图配置:BasicOverview -> BlogOverviewViewModel

目标成员:介绍 lambda_method(Closure , BasicOverview , BlogOverviewViewModel , ResolutionContext )

我尝试将以下内容添加到我的 Automapper 配置文件中:

这产生了以下错误:

TypeLoadException:来自程序集“AutoMapper.Proxies,Version=0.0.0.0,Culture=neutral,PublicKeyToken=abc123ef45”的“Proxy_KenticoCloud.Delivery.IRichTextContent_12345678_”类型中的方法“GetEnumerator”没有实现。

0 投票
2 回答
18232 浏览

vue.js - 带有承载令牌的 VueJS GET 请求

我正在使用 VueJS 尝试使用 Kentico Delivery Preview API,它允许您通过提交不记名令牌进行授权(https://developer.kenticocloud.com/reference#authentication)来获取未发布的内容。但是,无论我做什么,我都会收到 401 响应。PROJECT_ID、ITEM_NAME 和 TOKEN 都是正确的,取自项目,所以不是拼写错误。我承认我对身份验证没有太多经验,但任何帮助将不胜感激:

0 投票
1 回答
137 浏览

c# - JSON 响应不包含特定类的嵌套内容

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

这是发出请求的代码:

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

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

谢谢

0 投票
1 回答
69 浏览

content-management-system - Taxonomy in multilingual environment

How to organize a list of content items (i.e. projects in portfolio) into different categories (i.e. industries) in Kentico Cloud content as a service platform.

i.e.

  • Project 1 (content type project) - Commercial (industry)
  • Project 2 (content type project) - Commercial (industry)
  • Project 3 (content type project) - Health care (industry)

There are two solutions on the table:

  1. Create a content type called industries and ad linked items element called industries to the project content type
  2. Create a taxonomy group, called industries and tag the content item "client" with a tag

Our dev favored option 2, however, it seems not to be possible to localize a tag value and it would therefore never be possible to display the tag itself in the multilingual UI.

What would the official recommendation for this?

This question is a migrated from official Kentico Cloud Forum, that would be deleted.

0 投票
1 回答
45 浏览

c# - 在 Kentico Cloud 的内容项中自动填充链接项

我有两个内容项。一个是医生简介,另一个内容项是医生专业。在医生档案中,我将专业内容项(Linked Item)链接到医生档案中。

因此,假设 Giedrimas 博士拥有“家庭医学”专业。

医生内容项目

现在我想要的是,当我查看专业内容项目“家庭医学”时,Giedrimas 博士应该显示为使用专业“家庭医学”的医生。现在我确实在“家庭医学专业”在标题下,但我无法访问该列表。

家庭医疗内容项目

最好只使用 KC SDK 检索内容项“Family Medicine”并显示“Used In”医生,而不是检索所有医生列表并为“Family Medicine”过滤每个医生,因为这样会更有效检索“家庭医学”专业数据,而不是过滤所有医生。有人对此有任何想法,或者有可能吗?

此问题是从官方 Kentico Cloud 论坛迁移而来的,将被删除。

0 投票
1 回答
105 浏览

javascript - 在 Express.js 中验证 Kentico Cloud webhooks 签名

如何使用 express.js验证webbooks签名?

在文档中,有一个关于通知签名的部分,但我不知道如何将它与 Express.js 结合起来

此问题是从官方 Kentico Cloud 论坛迁移而来的,将被删除。

0 投票
1 回答
882 浏览

graphql - 在 Gatsby-node.js 中检索多种数据类型时,graphql 重复文档错误

我有一个简单的 Gatsby 原型,它利用Kentico Cloud作为数据源。对我来说幸运的是,他们已经构建了一个源插件,我用它来获取一个名为“BlogPost”的单一数据类型。这按预期工作。

gatsby-node.js 源码

这很好用,但我真的想添加第二种数据类型,称为“文章”

Gatsby Kentico Starter Template Example之后,我修改了我的 gatsby-node.js 文件

如您所见,我记录了结果,以便查看它们的外观。

生产

到目前为止,一切都很好。我看到了我期望看到的。

当我运行gatsby develop它时,它实际上编译成功,但是出现了 graphQL 错误

error GraphQL 错误 编译站点的 GraphQL 查询时出错。错误:RelayParser:遇到一个或多个文档的重复定义:每个文档必须有一个唯一的名称。重复的文件: - templateBuilder

我试图通过在我的第一个 BlogPost 查询后加一个逗号来解决这个问题。

我试图将一个新查询作为新的承诺放入,但我的编辑器通知我它是无法访问的代码,所以我知道这行不通。

它必须很小,因为我在Gatsby Kentico Source Plugin 启动器之后建模了我的代码,它使用了与我相同的技术。我可以毫无问题地下载并运行该项目。所以我不确定我做错了什么。

编辑

我解决了这个问题。问题出在每种数据类型的模板中。我将这两个查询都命名为 templateBuilder。我将博客模板更改为 blogBu​​ilder,将文章模板更改为 articleBuilder。现在就像一个魅力。

文章.js

blog-post.js

0 投票
1 回答
74 浏览

.net - 将 ContentItem 转换为强类型

我正在使用带有.Net SDK的Kentico Cloud构建一个站点,该站点提供使用Lucene.Net存储索引项的搜索功能。

我想在搜索实现中从DeliveryClient.ContentItem创建强类型模型。

我已经实现了这样的:

我宁愿使用内置方法来获取强类型模型,也不愿使用在添加新内容类型时需要更新的开关(ToObject 方法)。

此问题是从官方 Kentico Cloud 论坛迁移而来的,将被删除。

0 投票
3 回答
65 浏览

reactjs - 如何将 node_modules 的 kentico-cloud-delivery 的 package.json 中的更改推送到 bitbucket

根据 Kentico 技术支持顾问的说法,为了让我的 create-react-app 应用程序在 IE11 上呈现,我必须更改 node_modules -> kentico-cloud-delivery -> package.json 文件中的以下代码行:

在此更改之后,我的反应应用程序正在我的本地 IE 上呈现,但问题是我如何将此更改推送到 bitbucket 中,以便反应应用程序也可以在服务器上的 IE11 上呈现。

关于这一点,我们通常不会将 node_modules 推送到 bitbucket 并将其放入 .gitignore 文件中,请告诉我如何解决这个问题。注意:我的项目是一个 create-react-app 应用程序。

0 投票
1 回答
70 浏览

kentico-kontent - Kentico Cloud 自定义 ContentLinkUrlResolver 对 DeliveryClient 的循环依赖

我正在尝试将我的 Kentico Cloud SDK 从 v7 升级到 v10。在我刚刚创建 DeliveryClient 的新实例以构建我的站点 url 的服务以解析然后将其传递给我的 CustomContentLinkUrlResolver 例如

所以我有这个循环依赖,其中 DeliveryClient 依赖于 CustomContentLinkUrlResolver,而 CustomContentLinkUrlResolver 又依赖于 DeliveryClient。

令人沮丧的部分是 ResolveLinkUrl(ContentLink link) 方法没有我需要解析 url 的信息,因为 url 是由 ContentLink 中不可用的项目的分类定义的,这意味着我必须再次查找该项目得到分类。

我不知道如何绕过依赖 DeliveryClient 的 CustomContentLinkUrlResolver。