2013-03-12 44 views
1

Sitecore的針線「預覽」針線預覽使用下面的代碼顯示在不同的選項卡,Sitecore的 - 在彈出

protected void Preview(string id, string language, string version) 
    { 
     ... 
     Context.ClientPage.SendMessage((object)this, "item:preview(id=" + id + ",language=" + language + ",version=" + version + ")"); 
    } 

我希望它出現在預覽一個彈出。 我已經覆蓋了工作箱,它是修改此方法的問題。 任何想法如何改變這一點?我嘗試不同的東西,但沒有什麼工作對我來說...

回答

2

APP_CONFIG \ Commands.config你可以找到item:preview映射到Sitecore.Shell.Framework.Commands.PreviewItem類。

您可以基於PreviewItem類創建自己的命令,並使用它來代替item:preview命令。

如果您反映PreviewItem類的代碼,你會看到運行方法,在這個方法的最後執行

SheerResponse.Eval("window.open('" + (object) webSiteUrl + "', '_blank')"); 

。這會在新標籤中加載預覽。將此邏輯更改爲您的重寫類中所需的任何內容。

0

非常感謝您的回答,這真的很有幫助。 其實我想打開一個新選項卡中的內容編輯器。 我已經反映了一些命令,如預覽,打開和了解內部發生了什麼。

而且我已經在箱裏overridded「打開」 mwthod如下在新標籤打開內容編輯器項目,

... 
UrlString urlString = new UrlString("/sitecore/shell/Applications/Content%20Editor"); 

     urlString.Append("id", id); 
     urlString.Append("vs", version); 
     urlString.Append("ro", sectionId); 
     urlString.Append("la", language); 
     urlString.Append("fo", id); 

     SheerResponse.Eval("window.open('" + (object)urlString + "', '_blank')"); 
... 

它的工作原理!!!!! 再次感謝。