Sitecore页面组件架构建议

Sitecore页面组件架构建议,sitecore,Sitecore,我们为主要使用页面编辑器的客户开发了一个Sitecore站点。我们构建了页面类型的布局,然后将所有其他内容组件化,包括内容的子布局。这使他们在构建页面时具有最大的灵活性 因此,作者进入页面选择页面的主要内容区域(占位符),并插入我们创建的基本构建块组件。这些工具包括富文本框、页面促销等。他们可以使用这些工具构建内容冗长的富页面 我们遇到的挑战是,每次用户添加这些组件中的一个组件(创建一个新的内容项)时,他们都需要将其命名,并在树中的页面项下创建一个get项。因此,您可以有:页面>富文本1、富文本

我们为主要使用页面编辑器的客户开发了一个Sitecore站点。我们构建了页面类型的布局,然后将所有其他内容组件化,包括内容的子布局。这使他们在构建页面时具有最大的灵活性

因此,作者进入页面选择页面的主要内容区域(占位符),并插入我们创建的基本构建块组件。这些工具包括富文本框、页面促销等。他们可以使用这些工具构建内容冗长的富页面

我们遇到的挑战是,每次用户添加这些组件中的一个组件(创建一个新的内容项)时,他们都需要将其命名,并在树中的页面项下创建一个get项。因此,您可以有:页面>富文本1、富文本2、图像、促销、富文本3等。这将导致一个难以导航的复杂树。此外,我们不希望他们必须一一命名,因为这些名称是不相关的

我们正在寻找让作者更轻松的方法,比如自动为新项目生成一些逻辑名称,可能将它们全部存储在一个文件夹中而不是页面下,或者以某种方式隐藏它们

我很想听到一些关于我们如何清理这个问题的想法,或者其他人如何设计类似的解决方案


谢谢

我相信这是Sitecore中的常见场景,它为内容作者提供了很大的灵活性

我将在您的列表中包括的第一种方法是有两个存储库,一个用于页面组件,另一个用于共享组件。这还需要对内容作者进行一点培训,让他清楚两个文件夹之间的区别

为此,在子布局中,可以定义多个由管道分隔的数据源位置。

有了这一点,第二个技巧是,不要在当前项下创建组件,而是将它们添加到一个名为“页面组件”的特殊文件夹下。您的所有页面都将始终具有此“页面组件”文件夹。要实现这一点,您需要将所有插入选项更改为使用分支而不是模板

如果你不知道sitecore的分支机构,用谷歌搜索一下,你就会得到它

通过这两种方法,您的目录树将如下所示,这对内容作者来说比较容易混淆:

而且,在页面编辑器透视图中,内容作者会得到如下结果:

其中一点是,有了一个只用于组件的特殊文件夹,内容作者不需要太在意组件名称,因为它不会弄乱他的树

希望对你有帮助。。
干杯

您可能还想研究仅在页面编辑模式下显示某些字段。您可以使用在页面编辑器模式下向编辑器公开某些字段的技术来控制某些字段呈现器的可见性,否则可能不会。但我不确定是否可以将name属性放在字段渲染器中


很多年前,我在RedDot工作的时候就不得不做这样的事情,这只会让你在页面编辑器模式下工作。

非常有趣。如果我们想探索自动命名,让他们更容易使用,你知道我们会怎么做吗?我询问自动命名的原因是因为我们正在考虑对您的解决方案进行修改,所有页面组件将位于单个文件夹中,如/Home/page components。我们会自动命名组件,如“Home Rich Text 1”或“Article Promo 1”。我认为,我们不太可能完全需要直接在树中访问这些项目,但命名约定会使我们在需要时更容易找到它们。我们还将考虑将文件夹设置为项目桶,以简化查找项目。对这种方法有什么想法吗?当心自动命名组件。数据源的一部分功能是重用它们的能力,如果您计划将它们存储在一个位置,那么用户选择现有数据源将更具诱惑力。糟糕的命名约定将使作者几乎无法识别哪个数据源是哪个数据源。类似地,当您开始使用DMS时,您将希望能够为个性化和A/B测试选择变体,而糟糕的命名约定将使您难以选择正确的源。嗨,Scott。我以一种可能的方式进行了一些调查,以自动命名组件,我发现唯一可能的方法是更改“选择渲染”对话框,当用户clic在Select中时,您将自动生成组件数据源,而不是询问他。这需要您深入研究渲染和sitecore类。这种方法的问题是,除了它不是一个简单的任务,它也会打破SITECORE的更新路径。您可能想考虑使用$NAMED令牌来为您的组件字段之一,例如标题。这将鼓励编辑为项目提供一个可用的名称,因为这样可以避免他们必须键入相同的文本两次。