为预设组件选择数据源项

时间:2012-10-11 12:23:38

标签: sitecore sitecore6

在深入研究我的解释之前,我将总结一下我的问题:

如何为用户(编辑)提供用户友好的可能性,以便为标准值上预设的子布局选择数据源项?

我的情况如下:

我有一个页面模板,标准值上有预定义的布局。 假设布局包括:

  • 一个占位符“包装器”
  • 一个子布局“内容”

此子布局在我的页面模板上预定义,但也可以使用页面编辑器放置在占位符中。 它需要一个定义Title和Body值的数据源项。

现在,如果用户使用页面编辑器将此子布局添加到占位符,他将获得一个很好的界面来选择或创建数据源项(参见屏幕截图)。

enter image description here

但是,如果子布局是在标准值上预先定义的,那么它将在没有数据源的情况下添加(我无法在标准值中预设数据源,因为到那时它仍然是未知的。)

此时似乎没有办法找到选择或创建数据源项的好界面。

理想情况下,我希望能够在我的模板中添加一个字段,该字段可以包含用户可以使用nice界面选择/创建的数据源项。我查看了数据源字段类型,这可能是另一种选择,但它仍然不是我想要的。

请记住,内容子布局只是一个例子。 我理解在那个特定的情况下,我可以通过总是向模板添加一个标题/正文字段来解决它,如果没有数据源则保存值,但对于我的现实世界问题是不够的。

我对页面编辑器没有很多经验(使用新的工作方式)所以我想就这个主题提出一些建议。

1 个答案:

答案 0 :(得分:5)

根据你在这里说的话:

  

理想情况下,我希望能够在我的模板中添加一个字段,该字段可以包含用户可以使用nice界面选择/创建的数据源项。我查看了数据源字段类型,这可能是另一种选择,但它仍然不是我想要的。

似乎您希望CMS shell中的直观数据源选择器界面类似于基于页面编辑器的UI。

快速回答:简单地说,在Sitecore中没有任何可以帮您解决这个问题。

更长的答案:您仍有一些选择,例如

定义一个全局“虚拟”数据源,并将其设置为Presentation>中设置的数据源。布局模板标准值的详细信息。因此,每次创建新页面时,它总是指向该虚拟值以显示某些内容。

从这里你可以做一些事情:

  1. 如果用户必须使用shell UI而不是页面编辑器,他们只需为特定页面创建另一个数据源项,并使用布局详细信息中的现有本机接口更新该页面以指向它。
  2. 另一种选择是编写一个事件处理程序,比如item:created或类似的,当你创建一个项目时,为这个特定的页面自动创建一个相应的数据源项目(这个自动创建的项目是否是一个子项目-items或全局项...)然后以编程方式将其设置为数据源。 Nick Wesselman在此视频中显示了一个类似的概念:http://www.techphoria414.com/Blog/2012/May/Sitecore_Page_Editor_Unleashed