设置u渲染字段未在Sitecore中共享?

设置u渲染字段未在Sitecore中共享?,sitecore,sitecore6,Sitecore,Sitecore6,是否有人有过将Sitecore中的\u渲染字段设置为不共享的经验?我们正在构建一个多站点多语言解决方案,需要不同语言的(子)布局不同。例如,英语网站可能有一个瑞典版本的同一项目没有的子布局,并且不同语言的所有演示组件并不总是具有相同的数据源 解决此问题的一个简单方法是在/sitecore/templates/System/templates/Sections/Layout template中取消选中\Renderings字段上的“shared”(共享),但这会产生任何其他后果吗?还是有更好的方法

是否有人有过将Sitecore中的
\u渲染
字段设置为不共享的经验?我们正在构建一个多站点多语言解决方案,需要不同语言的(子)布局不同。例如,英语网站可能有一个瑞典版本的同一项目没有的子布局,并且不同语言的所有演示组件并不总是具有相同的数据源


解决此问题的一个简单方法是在
/sitecore/templates/System/templates/Sections/Layout template
中取消选中
\Renderings
字段上的“shared”(共享),但这会产生任何其他后果吗?还是有更好的方法来处理此需求?

以这种方式修改Sitecore的默认行为通常不是一个好主意。 对于将来可能使用该系统的其他人来说,这是不透明的,并且可能会导致意外的结果

在我看来,最好在(子)布局中进行切换,以便它根据当前语言加载不同的文件

至于后果。当您使_Renderings字段非共享时,它将如您所期望的那样工作。
您将能够为每个语言版本设置不同的演示文稿详细信息。结果是您现在必须为每个语言版本设置它。。。所以管理起来就不那么容易了。

我会使用sitecore的设备。对于每种语言,您可以定义一个站点,每个站点都可以有自己的设备。如果您每种语言都有一个域名(www.site.com、www.site.de、www.site.fr等),这将是现成的

如果所有语言都有一个站点(一个主机名),则可以使用httpRequestBegin管道处理器切换设备

本文介绍如何识别移动设备。根据语言重写切换设备的逻辑并不难

当您为每种语言定义了不同的设备时,只需将渲染放置在与您的语言匹配的设备上即可。对于所有呈现相同的页面,您仍然有可能使用回退设备


修改Sitecore默认行为可能暂时可行,但使用和扩展Sitecore平台是一种更好的方法。

当需要根据语言、原产国、国家/地区等交换视觉元素时,我个人的偏好是,etc将使用Sitecore的个性化规则编辑来交换数据源,并以这种方式更改演示文稿。它不涉及更改Sitecore的默认行为,允许您利用内置的Sitecore功能


如果您的不同“子布局”实际上只是由各种个性化规则拉入的数据源,那么您可以使用OMS/DMS配置所有这些数据源,并依靠Sitecore引擎呈现给定当前状态所需的组件。就性能而言,使用最新版本的DMS可能是最好的(我认为6.5更新5现在是推荐的版本)。

我们确实做到了这一点,而且在大多数情况下几乎没有副作用。事实上,这是唯一一种让渲染更改工作流程的方法。我们将其与英语相结合,以便语言能够继承英语的价值。但是要小心,就像克隆了一个项目一样,它总是首先从克隆中提取默认值,而不是从标准值/回退中提取默认值。

我更喜欢从Sitecore而不是从代码中管理它。我想实现的是,根据语言的不同,使单个项目具有不同的子布局,或者根据语言对子布局进行不同的排序。根据语言的不同,每个子布局也可能有不同的数据源。英语可能与瑞典语没有相同的子布局。此外,这需要使用页面编辑器进行编辑。这很有趣!虽然我不确定使用Sitecore页面编辑器对web编辑器来说有多容易。我会继续关注这件事的!对于具有5种语言的站点,当您添加新的通用组件时,必须手动将其添加到所有5种语言中。这将需要大量额外的工作和测试。我想这取决于你的内容结构有多普遍。如果这一切都不同,那么这可能没问题。使用DMS肯定是一个很好的选择。还允许用户通过页面编辑器进行编辑。对于基本用户来说,理解如何使用个性化可能有点复杂。更改数据源是一个关键方面,因为并非所有项目都具有所有语言等。sc_lang参数是否可用于个性化设置?如果在个性化组件时弹出打开规则集编辑器,则可以看到可用的条件/规则的大列表。“项目”的其中一个部分,规则为“项目语言与价值的比较”。网站和人物角色也有规则。我认为这是“处理需求的更好方法”,因此也是你问题的答案。根据我的经验,按照您建议的方式使用Sitecore肯定会给您带来麻烦。也许现在不行——我自己已经测试过了,没有太多真正严重的副作用——但是以后。我可能应该在这里添加一个更新:虽然使用DMS可能解决特定于语言的问题,但它不能解决版本控制问题。如果您另外要求每个版本的布局不同,即使在同一语言中,保持渲染共享也不支持这一点。对于一个客户,我最近不得不取消渲染,以便他们可以在不影响现有已批准版本的情况下对页面进行更改。一个主要缺点是您正在修改不受支持的sitecore系统模板。这将使将来的升级更加困难。除了您的语言示例之外,还有一个在项目版本之间改变表示方式的用例。比如,长安