Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
22.08.2009, 16:58 | #1 |
Senior Member
Регистрация: 13.11.2006
Сообщений: 180
|
Запоминание выбранного пользователем языка
Пользователь зашёл на сайт. Сайт по-умолчанию на английском. Выбрал русский язык. Походил, почитал, ушёл. На следующий день зашёл и язык для этого пользователя по-умолчанию русский. Как так сделать в TYPO3?
|
23.08.2009, 16:57 | #2 |
Administrator
|
посмотрите rlmp_language_detection - определения языка по настройкам браузера
|
23.08.2009, 17:03 | #3 |
Senior Member
Регистрация: 13.11.2006
Сообщений: 180
|
Смотрел. По настройкам браузера не годится. Нужно по последнему выбранному этим пользователем языку.
|
23.08.2009, 19:35 | #5 |
Senior Member
Регистрация: 13.11.2006
Сообщений: 180
|
Не хотелось бы раскидывать по куче файлов множество настроек. Тем более в JS. Нельзя всё через TS делать? Или как плагин? Ведь такая вроде простая вещь и как мне кажется востребованная, ни где не реализована, ни в ядре, ни в каком-либо плагине.
|
23.08.2009, 20:02 | #7 |
Senior Member
Регистрация: 13.11.2006
Сообщений: 180
|
Чтоб я ещё представлял как?!
Я могу создать куки, но как в него прописать язык который только что выбрал пользователь? Т.е. отслеживать событие клика по ссылке? Как передать в куки, выбранную ссылку? Могу предположить, например, что в url можно дописать «#ru», но как это сделать для плагина sr_language_menu? Последний раз редактировалось NiKRON; 23.08.2009 в 20:15 |
24.08.2009, 02:09 | #8 |
Senior Member
|
Если честно, я уже не помню, как работает sr_language_menu.
Однако, я рассуждаю следующим образом. У страницы есть URI. Отображение страницы зависит от этого URI и (опционально) от кук пользователя. Соответственно, язык страницы находится либо в URI, либо в куках. Если язык страницы содержится в её адресе, то я совершенно не понимаю, зачем надо определять язык пользователя. Страница http://site.ru/ru/about.html будет на русском, http://site.ru/en/about.html - на английском. Могу предположить ситуацию, когда есть только http://site.ru/about.html, а английской она становится только если пользователь решил посмотреть её в английской версии (и у него создалась соответствующая кука). Но это ужасный вариант, так же делать не надо. Поэтому единственное место, где я вижу применение тому, что вы хотите - это когда у вас есть, скажем, site.ru, на главной странице которого написано "выберите страну", и вы хотите запомнить этот выбор и делать автоматический редирект. Но это делается в две строчки на JS: 1) выдёргиваем язык пользователя из URL 2) записываем его в куку.
__________________
TYPO3 FAQ |
24.08.2009, 10:38 | #9 |
Administrator
|
я бы делал так:
- если юзер жмет на смену языка, то ему ставится кука с значением этого языка - если юзер пришел на сайт (т.е. реферром не является страница данного сайта), то мы проверяем эту куку. Если кука есть, то редирект на выбранный юзером язык. Всю эту кухню можно смотреть в rlmp_language_detection Кода там мало |