2016-07-28 59 views
4

我是一個非常新的sitecore,與sitecore一起工作7. 問題是當我在頁面編輯器中時,使用浮動菜單刪除一個項目'delete '功能,它只是刪除該項目。在sitecore中的頁面編輯器中從浮動菜單中刪除時刪除確認

客戶的要求是在這裏添加一個確認框。像'你確定要刪除'嗎?和兩個典型的按鈕(是/取消)。

是甚至可能的?任何幫助,將不勝感激。

編輯: 在下圖中,紅十字是一個刪除/刪除按鈕。如果我點擊它只是刪除。我想點擊按鈕顯示確認。

enter image description here

編輯2:

好吧,我寫的自定義命令。 我已添加一個新按鈕。目標是這個新按鈕將詢問用戶是否想要刪除組件。如果用戶說'是',它將與默認的內置刪除按鈕一樣。

enter image description here

代碼:

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(); 
     } 
    } 
    } 

我怎麼叫鉻:渲染:從代碼中刪除?

+0

你確定你在談論頁面編輯器而不是內容編輯器?如果它真的是頁面編輯器,你究竟想要刪除什麼?請澄清,甚至可能提供截圖。 –

+0

是的頁面編輯器。我正試圖刪除一些組件。 – kandroid

+1

您是否嘗試過問Sitecore支持? –

回答

3

「chrome:rendering:delete」事件在客戶端由javascript處理。這裏是確切的地方: /Sitecore的/殼/應用/頁模式/ 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);  
     } 
    } 
} 
+0

嗨。謝謝你的答案。我會嘗試代碼。 – kandroid

+0

你是搖滾隊長。它的作用就像一種魅力 – kandroid

相關問題