2012-11-27 32 views
3

基本上,我們目前在單個sitecore安裝上具有多站點設置。因此,我們有這樣的結構,內容節點下:Sitecore:基於當前SiteContext的模板字段源動態定位

  • 網站1
    • 內容1
  • 網站2
    • 內容2

現在當然我們希望重用我們的模板雖然我們可以,所以我們會有這樣的一個模板:

Templatename: Webpage 
Sections: Data 
Fields: Title, Body, Image 

現在對於我們將其設置爲類似/Media Library/Images「圖像」場源正常,但因爲我們有2個獨立的網站,我們想反映結構在媒體庫以及像:

  • 媒體庫
    • 網站1
      • 圖片
    • 網站2
      • 圖片

但是,我們將如何去定義數據源,然後在模板?

回答

2

有沒有簡單的方法來完成你想要的。 您必須使用您自己的副本覆蓋該類的「Sitecore.Shell.Applications.ContentEditor.Image」。

然後重寫大部分的BrowseImage方法,並找到一些方法來選擇它應該選擇的路徑。

如果您支持webedit,您還必須對命令「webedit:chooseimage」執行此操作。

+0

我看了一下'Sitecore.Shell.Applications.ContentEditor.Image'類。基本上我在這種情況下的目標是這樣的:'options2.Root = item3;'它通過'string text = StringUtil.GetString(new string [] {this.Source,/ sitecore /媒體庫「});'和Item item3 = Client.ContentDatabase.GetItem(text,language);'我注意到webedit命令運行基本上覆制粘貼代碼也訪問Source屬性。因此,我從這裏得出結論,我最好做一個繼承自原始的Image類並覆蓋Source屬性。 – IvanL