Sitecore中可重用的HTML块

时间:2016-01-04 21:42:24

标签: html widget sitecore sitecore8 sitecore-mvc

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

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

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

我很快意识到,因为我们需要这个小部件的多个实例的能力,所以数据模板是不够的,因为小部件的每个实例都需要在前面填充自己的数据。因此,我的想法是允许内容编辑器将HTML小部件添加为当前项的子级(因此每个项都有自己的实例数据)。我不认为这会有效,因为我不知道如何让这些孩子告诉父页面哪个占位符可以将它们放入,所以将它们放在一边是一个问题。

我还想过以某种方式将占位符名称设置为HTML小部件的数据模板上的参数或字段,但我无法弄清楚如何让Sitecore在粘贴所有内容时动态地将它们添加到占位符在一起。

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

1 个答案:

答案 0 :(得分:2)

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

基本上你:

  1. 创建一个包含组件所需字段的数据模板
  2. 使用该模板创建一组项目
  3. 允许作者选择其中一个作为您组件的Datasource
  4. 它内置Sitecore功能。

    查看博客帖子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/