条件渲染在Sitecore 6.6中不起作用

时间:2013-06-17 21:50:51

标签: model-view-controller sitecore

我正在尝试在我的Sitecore项目中对Mvc渲染使用条件渲染。无论我选择什么条件,都没有规则实际触发,包括默认条件。换句话说,无论是否选中“隐藏组件”复选框,组件始终呈现。到目前为止,我的故障排除并未揭示根本原因。有没有人以前遇到过这个问题?

其他信息:

  • 在创作过程中或从我的网络浏览器访问内容项时,sitecore日志不会显示任何错误。
  • 我正在使用开箱即用的CustomizeRendering.Personalize处理器。
  • 我正在使用Sitecore 6.6.0-Update 4.
  • 已启用Google Analytics。
  • 启用了MVC。
  • 我在更改条件呈现设置之间执行了IIS重置,以确保页面没有被缓存。
  • 在尝试自定义条件时,我在Visual Studio中根据这些自定义条件的“process”方法设置了断点。断点从未命中。
  • 为了测试我的条件是否糟糕,我设置了一个继承ItemRules的模板,并在控制器中显式调用了RuleList<> .Run(context)。在此测试期间,我的自定义条件达到了断点。

1 个答案:

答案 0 :(得分:1)

如上面的Trayek所述,预览模式应该受到责备。

潜入Sitecore程序集,事实证明CustomizeRendering.Personalize.Process()要求“Sitecore.Context.PageMode.IsNormal”评估为true,以便调用评估条件渲染的方法,并设置我的值为假。

“Sitecore.Context.PageMode.IsPreview”为真。

这解释了为什么条件渲染没有触发的抽象层次。我不确定为什么我的网站默认为预览模式,即使我没有登录,但这是条件渲染未被评估的直接原因。