Sitecore 中的可重用 HTML 块

Reusable HTML Blocks in Sitecore

我正在寻找一种方法来为网站 运行 在 Sitecore 8 上创建可重复使用的 HTML 小部件。我最初的想法是创建一个数据模板,该模板基本上由一个 Rich文本框。这个想法是,您可以将这些小部件的任意数量的实例放在占位符上,它会从页面上的每个小部件实例和正确的占位符中呈现 HTML 。

示例: 名为 /products/my-product 的内容项基于 "Product" 数据模板 它由产品模板上的一些字段组成(可能是产品名称、价格)

我希望内容编辑器能够快速将 HTML 小部件的一个或多个实例放置在页面上(例如,在右栏或子布局的不同占位符中。我我知道我可以在产品模板上添加一个 "notes" 字段,但我想让它更具动态性,以便他们可以添加此 HTML 小部件的多个实例并将它们放置在他们想要的任何位置。

我很快意识到,因为我们需要这个小部件的多个实例的能力,所以数据模板是不够的,因为小部件的每个实例都需要自己的数据来填充在前端。因此,我的想法是允许内容编辑器添加 HTML 小部件作为当前项目的 child(这样每个项目都会有自己的实例数据)。我不认为这会起作用,因为我不知道有什么方法可以让这些 children 告诉 parent 页面将它们放在哪个占位符中,所以将它们布置出来是一个问题。

我还考虑过以某种方式将占位符名称设置为 HTML 小部件数据模板上的参数或字段,但我不知道如何让 Sitecore 将它们动态添加到占位符当它把所有东西粘在一起时。

有没有办法实现我想要做的事情?似乎可重用 HTML(或其他类型的小部件,就此而言)将是一个相当普遍的需求。我觉得有一种简单的 Sitecore 方法可以解决这个问题,但我遗漏了这个问题并且使解决方案过于复杂。

据我了解,您正在寻找组件的 Datasource 字段。

基本上你:

  1. 创建一个包含组件所需字段的数据模板
  2. 使用该模板创建一组项目
  3. 允许作者select其中之一作为您的组件的Datasource

它内置于 Sitecore 功能中。

检查博客 post http://firebreaksice.com/using-the-datasource-field-with-sitecore-sublayouts/ 或 google Sitecore datasource

其他链接:

http://www.nonlinearcreations.com/Digital/how-we-think/articles/2014/03/4-patterns-Sitecore-component-development.aspx

http://www.nonlinearcreations.com/Digital/how-we-think/articles/2015/04/Sitecore-templates.aspx


编辑:

在此处阅读有关 Datasource Location 字段(定义数据源位置的存储库)的信息:http://www.sitecore.net/learn/blogs/technical-blogs/getting-to-know-sitecore/posts/2011/01/handling-presentation-component-settings.aspx

在此处阅读有关数据源和 MVC 的信息:http://jockstothecore.com/sitecore-mvc-item-maze/