2011-09-29 146 views
4

目前我面臨以下問題:Sitecore全球網址到特定網址

我必須爲一家公司建立的網站有不同的位置。但幾頁的內容適用於所有位置。現在我已經創建了一個包含所有位置的項目的全局文件夾。但是現在我面臨以下問題:從特定位置的網站訪問全局項目時,我會得到全局網址。但我想要的是具體位置的URL仍然是相同的結構,例如:

  • 現在是www.url.com/global/subfolder/itemname
  • 而我要的是www.url。 com/location1/subfolder/itemname

有沒有人對此問題有任何解決方案/建議?

有沒有人也有創建一個菜單來插入這些全局項目,但也插入位置特定項目的解決方案?

我的Sitecore的內容結構

  • 全球一些更多的信息:包含了全部位置
  • 公司全球項目:公司
  • LOCATION1的企業網站:LOCATION1的網站
  • 位置2:位置2的網站
+0

當您說'不同位置'時,您的意思是不同的域名?或者可能是不同的子文件夾?你能舉個例子嗎? –

回答

1

亞當·韋伯是正確的,克隆是你最好的解決辦法:

  1. 創建您的全局部分,你需要
  2. 對於每一個本地部分的所有子項,克隆全球並將其放置在您希望顯示在您的本地菜單中的地方
1

如果我理解正確,這是我會做什麼。它可能不是最漂亮的解決方案。但它會起作用。

您有/全球/子文件夾你的「數據」項/ ITEMNAME

然後就創建了一些模板,這是「虛擬」頁,只包含對全球項目的鏈接(也許這幾方面可能不同(或許聯繫電子郵件爲specifik位置)。

然後你做一個sublayout是bascially僅僅指剛得到引用的項目,並使用該代替Sitecore.Context.Item。

然後創建的一個實例/ location1/subfolder/itemname中的「dummy」模板並將其引用到/ global/subfolder/itemname

這樣你的URL將是正確的,並且數據將是相同的。

另一個也許更智能的解決方案(如果您啓用了代理)是創建一個代理,它需要 /global/subfolder/itemname作爲源代碼並指向/ location1/subfolder /作爲目標(或者可以採用/ global /子文件夾和檢查「包括兒童」。

這裏是如何使用5代理指南。3: http://sdn.sitecore.net/Articles/Administration/Using%20Proxy%20Items%20in%205,-d-,3.aspx

+0

我會去與代理項目。代理在v5.x中存在很多問題,但是在v6中他們的工作要好得多 –

+0

是的,這可能是簡單的解決方案,不需要任何編碼,只需對web.config進行一些更改即可。 – Holger

+2

代理可能是一種痛苦,並且不能很好地擴展。如果您正在運行6.4或更高版本,我會建議查看項目克隆。 –