2012-12-12 59 views
2

我正在IFrame內加載頁面(例如渲染項目,例如/sitecore/content/.../Page)。它也顯示了頁面編輯器功能區。我想隱藏該工具欄,在我的場景中不需要。Sitecore:以編程方式將頁面編輯器工具欄頂部刪除

但是,如果我設置IFrame的源URL像http://mysite/somefolder/page.aspx它不顯示頁面編輯器控件。

這意味着頁面編輯器控件按需加載。 需要知道如何停止加載頁面上的頁面編輯器控件。 如果您知道如何停止將這些控件加載到頁面,請讓我知道。

+0

顏嗨,我不需要在編輯模式下此頁。我在IFrame字段中使用「/ sitecore/content/Custom Editors/TestIFrameEditor」作爲源鏈接。因此「?sc = normal」對我不起作用。我在頁面加載時嘗試了您的代碼示例,第一次加載時沒有頁面編輯器。如果您嘗試重新加載該項目,則會顯示「找不到資源」錯誤。請幫助.... – Dhanuka777

+0

我認爲這個評論對我來說意味着什麼,而不是顏?你把double貼出來的問題,其他問題有一些更多的相關信息:http://stackoverflow.com/questions/13837537/sitecore-iframe-displays-page-editor-ribbon 我想了解Sitecore IFrame vs HTML IFrame。 你有沒有嘗試改變'DisplayModeDuration'並看到它的作品? – jammykam

回答

1

我找到了解決辦法,我躲在這個絲帶CSS,這是一個非常簡單的解決方案,

<style> 
    /*Hide the edit mode ribbon panel appears in the iframes. Originally added this to Price strategy control.*/ 
    #scWebEditRibbon, #scCrossPiece 
    { 
     display: none; 
    } 
</style> 
3

這是因爲頁面處於編輯模式。這個頁面是否永遠不需要加載到頁面編輯器中?如果沒有,那麼你可以添加以下到Page_Load事件:

Sitecore.Context.Site.SetDisplayMode(Sitecore.Sites.DisplayMode.Normal, Sitecore.Sites.DisplayModeDuration.ResetAfterRequest); 

否則,您可以追加?sc_mode=normal到URL設置iFrame的src時實現同樣的事情。這樣,如果您想編輯iFrame之外的頁面,則可以使用標準的Sitecore頁面編輯器功能。

什麼是/您是否將IFrame的URL設置爲當前(當您獲得控件時)?

+1

將sc_mode設置爲normal也會將數據源更改爲web而不是master,這可能不是此處的意圖。我認爲他們想要在沒有控件的情況下查看預覽內容。 – BraveNewMath

相關問題