1

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

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

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

有什么想法吗?

4

2 回答 2

4

我还将查看JetBrains DotPeek中的以下管道

<insertRenderings>
  <processor type="Sitecore.Pipelines.InsertRenderings.Processors.EvaluateConditions, Sitecore.Kernel"/>
</insertRenderings>

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

于 2013-03-27T15:00:49.903 回答
3

" Sitecore MVC 解决方案不支持全局条件渲染规则,这是一种条件渲染形式,它将同一组规则应用于所有表示组件。您可以为单个表示组件应用条件渲染规则,但您不能定义条件渲染规则与 Web 表单解决方案一样适用于所有演示组件。” 资料来源:约翰·韦斯特

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

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

您可以通过使用模板继承和自动执行此操作Standard Values

  • 创建具有标准值的基本模板。
  • 在标准值项的显示详细信息中配置渲染(这是您设置条件渲染规则的地方)。
  • 让所有需要这个条件渲染规则的模板都继承自基础模板。
  • 标准值的表示细节也将被继承。

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

于 2013-03-27T14:25:23.577 回答