8

我可以知道如何使用代码检测用户是否处于页面编辑器模式?这是因为,我有一个组件,当用户从页面编辑器浏览时,它将在 master_index 文件夹而不是 web_index 文件夹中搜索。

4

3 回答 3

27

请检查:if (Sitecore.Context.PageMode.IsPageEditorEditing)

也在开发 Sitecore 6.6,它不依赖于 Sitecore 7。

另请查看 Martina Welander 的这篇 Sitecore博客文章

检查页面是否正常使用: if (Sitecore.Context.PageMode.IsNormal)

要检查是否是预览模式,请使用:if (Sitecore.Context.PageMode.IsPreview)

还有其他PageMode:

  • IsPageEditorClassic
  • IsPageEditor设计
  • IsPageEditor编辑
  • IsPageEditorNavigating

如果您好奇,可以使用 Reflector 或 dotPeek 这个类进行检查:Sitecore.Kernel程序集中的Sitecore.Context.PageMode

于 2013-11-13T19:50:30.057 回答
2

我认为您不想检查页面模式,而只是想捎带上下文数据库名称-

var indexName = Sitecore.Context.Database.Name + "_index";
于 2013-11-15T21:23:38.707 回答
0

我正在使用这种语法来添加一个用于 JS 检测的类,相同的代码可用于带有位修改的后端检测:

<html class="@(Sitecore.Context.PageMode.IsPageEditor ? "inexpeditor" : "notexpeditor")">
于 2016-06-07T12:02:55.323 回答