我有一个网站让我们说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. 编程语言自动导航网站?
- 2. Plone导航,每个文件夹一个语言的网站
- 3. 从其他网站
- 4. 从其他网站
- 5. 从一个网站页面导航到另一个网站页面
- 6. 多语言网站:Cookie或URL元素
- 7. 将表格从一个网站导入到另一个网站
- 8. 多语言网站网址
- 9. 多语言网站
- 10. 多语言网站
- 11. 多语言网站
- 12. muib语言网站
- 13. csrf_token cookie被其他网站删除?
- 14. REST:处理网站维护
- 15. 如何维护.NET网站?
- 16. ASP.NET网站维护提示
- 17. 网站停机维护
- 18. HTML网站导航
- 19. Minimap网站导航
- 20. 从其他网站响应
- 21. 如何从其他网站
- 22. 从网站的特定页面导航时删除cookie
- 23. 从客户端网站登录到其他网站
- 24. server.transfer到其他网站url
- 25. 创建一个多语言网站
- 26. 设计一个多语言网站
- 27. 恶意网站可能会从其他网站窃取我的Cookie吗?
- 28. 与其他网站
- 29. 我的网站加载其他网站,导致其重定向到它
- 30. 导航到一个网站管理员网页
您可以在会话中存储语言设置,这将在整个域中传递给该用户。 – Fuzzybear
你的意思是应用程序? 'www.abc.com /'是和'www.abc.com/blog /'相同的网站,因此这两个cookie都可以在这个网站的根目录下工作。如果你想为不同的网站(例如www.abc.com /'和www.xyz.com)这样做,那就完全不同了。 –
这两个网站都是同一个Sitecore实例的一部分吗?如果是这样,他们是来自同一个网站定义还是单独的网站定义? –