将条件渲染应用于特定渲染的所有实例

时间:2013-03-27 04:28:04

标签: sitecore sitecore6

如何将条件渲染规则应用于特定渲染的所有实例(如果相关,则在MVC应用程序中)?

根据我发现的文档,应该有一个“个性化”部分,但它不会出现在渲染的属性中,即使我已在“应用程序选项”中启用它。

我已经读过MVC不支持全局条件渲染规则,但我认为这意味着规则无法应用于所有渲染,而不仅仅是特定类型的所有渲染。

有什么想法?

2 个答案:

答案 0 :(得分:4)

我还会看一下JetBrains DotPeek

中的以下管道
<insertRenderings>
  <processor type="Sitecore.Pipelines.InsertRenderings.Processors.EvaluateConditions, Sitecore.Kernel"/>
</insertRenderings>

我可能希望覆盖GetGlobalRules方法来执行您的自定义逻辑,也可以从Sitecore加载一组自定义条件并将它们添加到ruleList,这样它们也会得到评估。

答案 1 :(得分:3)

Sitecore MVC解决方案不支持全局条件呈现规则,这是一种条件呈现形式,它将同一组规则应用于所有表示组件。您可以应用条件呈现规则对于单个演示文稿组件,但您无法像使用Web窗体解决方案那样定义适用于所有演示文稿组件的条件渲染规则。“ Source: John West

所以你需要使用不同的策略:

如果我理解正确,则在项目级别配置条件渲染规则。这意味着必须在每个项目上设置全局规则。

您可以使用模板继承和Standard Values

自动执行此操作
  • 使用标准值创建基本模板。
  • 在标准值项目的演示文稿详细信息中配置渲染(这是您设置条件渲染规则的位置)。
  • 让所有需要此条件呈现规则的模板继承自基本模板。
  • 标准值的演示详情也将继承。

此解决方案唯一棘手的问题是您应该在创建项目之前设置所有模板和标准值。 理论上这应该不重要,但是我遇到了一些奇怪的症状,如果你在创建项目后更改它们,标准值表示细节的继承将无法正常工作。