从 sitecore 的页面编辑器中的浮动菜单中删除时删除确认

Delete confirmation when deleting from floating menu in a page editor in sitecore

我是 sitecore 的新手,正在使用 sitecore 7。 问题是当我在页面编辑器中,当我使用浮动菜单 'delete' 功能删除一个项目时,它只是删除了该项目。

客户要求在这里加一个确认框。类似于 'are you sure to delete'。和两个典型的按钮(yes/cancel).

这可能吗?任何帮助将不胜感激。

编辑: 在下图中,红色叉号是一个 delete/remove 按钮。如果我单击它只是删除。我想在点击按钮时显示确认信息。

编辑 2:

好的,我正在编写自定义命令。 我添加了一个新按钮。目标是这个新按钮将询问用户是否要删除组件。如果用户说 'yes' 它将执行与默认内置删除按钮相同的操作。

代码:

public class RemoveWithNoti:Sitecore.Shell.Applications.WebEdit.Commands.WebEditCommand
    {
        public override void Execute(CommandContext context)
        {

            Context.ClientPage.Start(this, "Run", context.Parameters);
        }

    protected static void Run(ClientPipelineArgs args)
    {
        if (args.IsPostBack)
        {
            if (args.HasResult)
            {
                //Here I need to call "chrome:rendering:delete" this . I just dont know how to!!

            }
        }
        else
        {
            SheerResponse.Confirm("Are you certain that you want to remove this component");
            args.WaitForPostBack();
        }
    }
    }

如何从代码中调用 chrome:rendering:delete?

"chrome:rendering:delete" 事件由 javascript 在客户端处理。这是确切的地方: /sitecore/shell/Applications/Page Modes/ChromeTypes/RenderingChromeType.js 文件:

handleMessage: function(message, params, sender) {
    switch (message) {
...
      case "chrome:rendering:delete": 
        this.deleteControl();
        break;
...
},

您可以在同一个文件中执行类似的操作:

deleteControl: function() {
    if(confirm('Are you sure to remove this component?')){
        var placeholder = this.getPlaceholder();

        if (placeholder) {     
          placeholder.type.deleteControl(this.chrome);      
        }
    }
}