Как я могу изменить текущий язык, который пользователи видят для сайта Sitecore? - PullRequest
1 голос
/ 19 октября 2011

Допустим, у меня есть веб-сайт, который переведен на два языка - английский и испанский.Я хочу дать пользователям переключатель в верхней части страницы, который позволяет им переключаться между двумя языками.Как бы я это сделал?Я не хочу создавать разные сайты.Я хочу только один сайт.Я просто хочу, чтобы пользователь мог нажать на кнопку или ссылку или что-то еще и перейти с английского на испанский.Теперь, когда они перемещаются по сайту, они просматривают весь сайт на испанском языке.Затем, если они снова нажмут на кнопку или ссылку, они вернутся на английский.Что мне нужно сделать в коде, чтобы Sitecore «использовал» другой язык?

Ответы [ 3 ]

4 голосов
/ 20 октября 2011

Вы можете переключить язык контекста, используя параметр строки запроса "sc_lang". Например:

http://youwebsite.com?sc_lang=en
2 голосов
/ 22 октября 2011

Обычно в Sitecore вы хотите представлять язык с помощью встроенных префиксов URL, например, http://www.example.com/en или http://www.example.com/es. Мы часто используем файлы cookie, которые мы читаем в конвейере httpRequestBegin, для улучшенияSitecore LanguageResolver.Ваш язык "toggle" может соответствующим образом установить этот cookie.

См. Эту статью Джона Уэста для более подробной информации и примера кода.

https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/repost-overriding-sitecore-39-s-logic-to-determine-the-context-language

0 голосов
/ 24 октября 2011

Вы можете написать собственный конвейер LanguageResolver, чтобы сделать это.

Или вы можете расширить свой URL, используя параметр строки запроса sc_lang, например: sc_lang = en-EN или sc_lang = de-DE.Если вы правильно настроили свой менеджер ссылок, это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...