我有一個網站讓我們說www.abc.com/和其他網站可以說www.abc.com/blog/ 這裏我想維護語言cookie時,請求是就像www.abc.com/pt-br, 那麼cookie會有pt-br值,如果請求去www.abc.com/blog/en這將保持en的cookie,並且我回到第一個站點它應該顯示我的pt-br的cookie,而不是en.I的cookie。我想爲此維護自定義cookie,它存儲了this.so的語言值,我應該如何實現這一點,任何人都可以幫助我解決這個問題?從一個網站導航到其他網站時維護語言cookie
回答
如果www.abc.com和www.abc.com/blog是sitecore.config中的不同網站,sitecore會存儲不同的語言cookie(網站#lang)。你不需要做任何事情。
爲了使www.abc.com/blog爲不同的網站,你應該在「網站」部分添加站點節點如下圖所示:
<site name="AbcBlog" virtualFolder="/blog" physicalFolder="/blog" rootPath="/sitecore/content/Home/Blog" />
那麼你需要的功能將Sitecore的開箱即用的功能,可以實現
我不想使用多個sites.this是相同的網站,如www.abc.com/和博客www.abc.com/blog。 情景:1)當我在www.abc.com/en時,lang的cookie被設置爲en,然後我去www.abc.com/pt-br,然後lang cookie是pt-br.2)我將導航到www.abc.com/pt-br/blogs,然後lang cookie將被設爲pt-br,然後我將自定義cookie設置爲en.loghere博客網站上有徽標,默認導航到en,所以當我點擊該徽標應該重定向到pt-br,而不是en,所以我該如何處理? –
爲什麼你要設置自定義cookie來登錄你的point2?爲什麼logo設置爲en?就像你說的語言cookie設置爲pt-br,那麼徽標URL應該是pt-br嘗試檢查如何獲取徽標的URL? –
有要求徽標應該默認在EN和當我們在任何語言的博客頁面,標識總是默認語言,但當我們在其他語言,當我點擊該標誌,我不想重定向爲了en,我想重定向在那種特定的language.can你請幫我到這個或提供任何解決方案呢? –
正如Dheeraj所提到的,這對於Sitecore來說基本都是開箱即用的功能。
在web.config中保留博客和主站點作爲單獨的<site>
定義將是最容易的,因此它們都可以維護自己的cookie。即使這兩者都是同一內容分支的一部分,您也可以執行此操作,例如
<site name="MainSite"
virtualFolder="/"
physicalFolder="/"
rootPath="sitecore/content/AbcSite" />
<site name="Blog"
virtualFolder="/blog"
physicalFolder="/blog"
rootPath="sitecore/content/AbcSite" />
提供兩個站點有一個語言設置Cookie,你可能使從一個鏈接到其他的東西,如
var otherSiteLanguage = //retrieve language from cookie
var options = Sitecore.Links.LinkManager.GetDefaultUrlOptions();
options.Language = otherSiteLanguage;
Sitecore.Links.LinkManager.GetItemUrl(item, options);
顯然,上述只適用於情況下,當你知道的鏈接將從一個站點到另一個站點,因此可能對站點徽標鏈接等有用,但對於富文本字段內的鏈接不起作用。
如果博客和主站點由相同的<site>
定義處理並且無法更改,那麼存儲在cookie中的語言將會持續存在於兩個站點中,因此,更改主站點的語言會更改語言博客,反之亦然。在這種情況下,如果現有站點不支持Cookie中保存的語言,則可能最好提供某種語言回退方案。您可以通過創建LanguageResolver處理器的覆蓋版本(Sitecore.Pipelines.HttpRequest.Sitecore.Pipelines.HttpRequest, Sitecore.Kernel
)在httpRequestBegin管道中執行此操作。
我不想使用多個sites.there是相同的網址,如www.abc.com/和博客www.abc.com/blog。 –
情景:1)當我在www.abc.com/en時,lang的cookie設置爲en,那麼我將訪問www.abc.com/pt-br,然後lang cookie將顯示爲pt-br.2)我將導航到www.abc.com/pt-br/blogs,然後lang cookie將被設爲pt-br,然後我將自定義cookie設置爲en.loghere博客網站上有徽標,默認導航到en,所以當我點擊該徽標應該重定向到pt-br,而不是en,所以我該如何處理? –
- 1. WordPress的網站繼承從其他Wordpress網站主導航
- 2. 編程語言自動導航網站?
- 3. Plone導航,每個文件夾一個語言的網站
- 4. 從其他網站
- 5. 從其他網站
- 6. 從其他網站
- 7. 從一個網站頁面導航到另一個網站頁面
- 8. 網站導航
- 9. 多語言網站:Cookie或URL元素
- 10. 將表格從一個網站導入到另一個網站
- 11. 網站目錄爲多語言網站
- 12. 多語言網站網址
- 13. 多語言網站
- 14. 多語言網站
- 15. 多語言網站
- 16. 多語言網站
- 17. 多語言網站
- 18. muib語言網站
- 19. 多語言網站
- 20. 多語言網站
- 21. 網站停機維護
- 22. 如何維護.NET網站?
- 23. ASP.NET網站維護提示
- 24. REST:處理網站維護
- 25. csrf_token cookie被其他網站刪除?
- 26. 網站:導航欄
- 27. HTML網站導航
- 28. Minimap網站導航
- 29. 從其他網站(NCBI)
- 30. 如何從其他網站
您可以在會話中存儲語言設置,這將在整個域中傳遞給該用戶。 – Fuzzybear
你的意思是應用程序? 'www.abc.com /'是和'www.abc.com/blog /'相同的網站,因此這兩個cookie都可以在這個網站的根目錄下工作。如果你想爲不同的網站(例如www.abc.com /'和www.xyz.com)這樣做,那就完全不同了。 –
這兩個網站都是同一個Sitecore實例的一部分嗎?如果是這樣,他們是來自同一個網站定義還是單獨的網站定義? –