Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sitecore 如何知道是在内容编辑器中单击了保存,还是在saveUI处理器中单击了页面编辑器_Sitecore_Page Editor - Fatal编程技术网

Sitecore 如何知道是在内容编辑器中单击了保存,还是在saveUI处理器中单击了页面编辑器

Sitecore 如何知道是在内容编辑器中单击了保存,还是在saveUI处理器中单击了页面编辑器,sitecore,page-editor,Sitecore,Page Editor,我有一个saveUI处理器,我只想在用户单击页面编辑器中的保存按钮时运行我的代码。我尝试过检查上下文,如: Sitecore.Context.PageMode.ispage编辑器 但它总是假的。我的猜测是处理器不在正确的上下文中 我如何检查点击的来源?参数中是否指明了“发件人” 您应该能够通过以下方式在Sitecore上下文中正确检测页面模式: if(Sitecore.Context.PageMode.IsPageEditorEditing) 也有类似的选择 IsPageEditor iS

我有一个
saveUI
处理器,我只想在用户单击页面编辑器中的保存按钮时运行我的代码。我尝试过检查上下文,如:

Sitecore.Context.PageMode.ispage编辑器
但它总是假的。我的猜测是处理器不在正确的上下文中


我如何检查点击的来源?参数中是否指明了“发件人”

您应该能够通过以下方式在Sitecore上下文中正确检测页面模式:

if(Sitecore.Context.PageMode.IsPageEditorEditing)
也有类似的选择

  • IsPageEditor
  • iSpageEditor设计
  • IsPageEditorClassic
如果查看Sitecore.Context.PageMode命名空间,您将看到所有可用的选项,以便可以检测所需的模式

我相信旧版本的Sitecore(可能是6.5及以下版本)有不同的属性


我建议您查看这篇文章以了解更多信息-

正如我在问题中所说的,这不起作用。IsPageEditorEdting、IsPageEditor、IsPageEditorDesigning和IsPageEditorClassic在saveUI处理器中都返回false,即使在页面编辑器中发生保存单击。您引用的文章是关于页面中的内联代码,而不是管道。我正在运行的代码在saveUI管道中,因此我认为那里的上下文不同。Sitecore.context应该仍然可以在管道中访问。我将查看我过去的示例,然后再与您联系您希望运行什么代码?参考资料概述了仅当您需要与保存项目的用户交互时才应使用saveUi管道。因此,另一种可能更适合保持哪种页面模式