在Sitecore 6.2中使用多種語言站點我希望Sitecore能夠在帶有連字符的URL中替換「」(空格,傳統上用%20替換)。Sitecore URL優化和語言
E.g. www.MySite.com/Hello世界> www.MySite.com/Hello-World
到目前爲止沒有問題,我們只是另一項添加encodeNameReplacements
<replace mode="on" find=" " replaceWith="-" />
隨後阻止我們的內容創作者從創建項目在其名稱(這Sitecore的所理解的閱讀他們的網址時,有空間,導致404未找到),我們可以將連字符添加到項目名稱禁止文字列表中選擇一個連字符,使用
<setting name="InvalidItemNameChars" value="\/:?"<>|[]-"/>
這一切都很好 - 直到我嘗試創建一個新的la語言定義。 Sitecore中的語言可以使用簡單的語言代碼(例如en,da,de等)或語言和區域代碼(ISO),例如en-GB,da-DK,de-DE等。對於我們的網站,我們需要因爲我們打算支持地區性語言變體(如瑞士法語和瑞士德語)。但是,我現在已經禁止項目名稱中的連字符(和語言,因爲Sitecore中的所有其他項都被定義爲項目)。實際上,Sitecore要求將語言名稱作爲文化標識符正確構建,因此我無法使用模板的ISO代碼字段中指定的iSO代碼爲語言指定描述性名稱(例如美式英語)。
任何人都可以提出一個合適的解決方案嗎?我應該從InvalidItemNameChars節點中刪除連字符,並編寫一個自定義代碼片段來捕獲試圖創建連字符的項目名稱i?如果是這樣,我應該如何參與創作活動?
我不喜歡自定義界面,特別是在我擔心這可能會導致Sitecore版本更新出現問題,所以如果有其他解決方案,我很樂意聽到他們。
在此先感謝。
謝謝,這對我們來說看起來很完美。 – 2011-01-14 19:11:09