3

目前在 SC7 工作,在那里我实现了一种脚手架,以便编辑者可以将文章添加到页面并在其下添加部分和段落。你明白了,html5的东西......

现在,问题......编辑器正在页面编辑器中工作:

假设您创建了一个新页面,并添加了一篇文章。它有一个标题、顶部的英雄形象和一个介绍。您选择创建新内容,我将其保存在一个名为 ContenStore 的 ItemBucket 中,我在其中存储我的所有文章、部分、段落......如果他们想重新使用任何内容,SC7 使用搜索的方式。

假设我的编辑创建了另一个新页面,并且他想重用内容存储中的一个部分。他会找到该部分,但是当他将其放在页面上时,原始部分上的所有段落都不会显示...当然不会,因为我猜布局详细信息保存在上下文项级别而不是那个部分级别...

有没有人解决过这个问题?子布局(或渲染)应该能够记住它具有哪些布局细节,因此如果您重新使用它,它最初拥有的所有项目也会再次放入其占位符中,这当然是递归的......

欢迎任何想法...

欧文

4

1 回答 1

1

您所描述的问题对于 Sitecore 7 来说并不新鲜。您在 Sitecore 6 中也会遇到同样的问题,您只需要付出额外的努力来保持您的内容井井有条。这是 Sitecore 表示框架的一个基本限制。

在使用Presentation Inversion of Control之前,我已经解决了类似的问题。(我可能应该为此写一个更新,因为规则引擎方法不再有效)

我相信 Cognifide在他们的Zen Garden中使用“ Composites ”做类似的事情,但不是使用虚拟布局,而是使用空布局,因此任何项目都可以作为页面打开。然后他们添加了一个自定义体验按钮,该按钮导航到页面编辑器中的非页面内容项。(请注意,这是基于我看到的简短演示的推测)。

几年前,Thomas Eldblom 还写了一篇关于他所谓的 Composite Layouts的博客。它类似于PioC,但将呈现设置放在特殊的渲染类型上。

简而言之,有一些方法可以实现您想要的,但它们都涉及自定义开发,并且需要额外注意以保持流畅的页面编辑器体验。

于 2013-11-27T17:26:04.310 回答