【问题标题】:DropLink datasource item reference with custom dataprovider in Sitecore在 Sitecore 中使用自定义数据提供程序的 DropLink 数据源项引用
【发布时间】:2012-02-20 06:53:26
【问题描述】:

如何使用自定义数据提供者绑定 DropLink?

更多信息: 我正在尝试使用 Sitecore 构建产品目录站点。 sitecore 内容树中的每个产品都可以附加一个星级和简短的文本评论(这将链接到使用个人资料提供者扩展的用户,但这是另一个问题)。

我计划将评论信息存储在外部数据库中,并使用自定义数据提供程序引用它。我已经从共享源 (here) 下载了 NorthwindDataProvider,并将其更改为使用包含评级、文本和 uniqueidentifier 字段的表来存储评论所附加到的 sitecore 中的产品 ID。

模板字段是一个下拉链接,数据源设置为目录中的产品。

当我使用 sitecore 内容编辑器在自定义数据提供程序中编辑评论时,即使我选择了其中一个填充的产品并使用 sitecore 保存,下拉链接也会显示“值不在选择列表中”。

它将 ID 保存在数据库中,但如果我查看原始值,它会显示不带大括号的 id。工作 droplink 字段的原始值似乎包含方括号。

为了创建评论,我使用 jquery 发布到使用外部数据上下文写入数据库的 Web 服务。我应该使用一些 Sitecore API 来使用自定义数据提供程序吗?

使用自定义数据提供者的任何信息都会有所帮助。我能够找到的文档都说明了可以做什么,但我正在努力寻找实际的实现。

【问题讨论】:

标签: sitecore dataprovider


【解决方案1】:

所以第一件事是您有一个模板字段,并且您正在使用 droplink,它将存储所选项目的 guid。我不太清楚您是否将数据源指向 Sitecore 项目。但如果您使用的是 droplink,这是必不可少的。以下是我建议的最直接的方法:

创建一个模板,您可以在其中添加字段来处理处理您的目录项的逻辑。如何做到这一点是您的选择,Sitecore 并不关心,因为它只会处理该项目,而它所关心的只是找到一个项目……您编写业务逻辑来操作外部数据。

一旦您有了一个存储目录项的文件夹,您就可以轻松编写脚本,由 Sitecore 中的规则引擎或定期运行的 Sitecore 任务触发,以让您的目录项添加/更新或删除相应的列表Sitecore 项目。

另外,另一个实现起来更复杂的选项,但如果您的站点上有多个数据源,这是一种有效的方法,即使用对象框架(如实体框架)作为数据对象层,允许您从任何数据源创建和填充通用对象。

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 2020-07-08
    • 2020-08-07
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多