MODX 2.6.5 + Babel 3.0: Как изменить языковой контекст по умолчанию
Привет, сообществу!
Дано простой сайт с двумя языковыми контекстами:
1. web (он же «ru»)
2. ukr (укр. язык)
Контекст по умолчанию изначально — web. Сейчас надо сделать так, чтобы второй контекст (ukr) стал по умолчанию.
Надоумьте, пожалуйста, как это сделать… Желательно на пальцах, для чайника.
Изучал, похожую тему Как поменять контекст по умолчанию?… но что-то пошло не так, или я что-то неправильно понимаю, или у автора ошибка…
В общем, прошу помощи.
Дано простой сайт с двумя языковыми контекстами:
1. web (он же «ru»)
2. ukr (укр. язык)
Контекст по умолчанию изначально — web. Сейчас надо сделать так, чтобы второй контекст (ukr) стал по умолчанию.
Надоумьте, пожалуйста, как это сделать… Желательно на пальцах, для чайника.
Изучал, похожую тему Как поменять контекст по умолчанию?… но что-то пошло не так, или я что-то неправильно понимаю, или у автора ошибка…
В общем, прошу помощи.
Комментарии: 8
Я бы попробовал перекинуть ресурсы местами у контекстов, а затем уже сменить их настройки… Прям через базу сделать это.
Вот только что там еще кроме ресурсов к контекстам привязано…
Вот только что там еще кроме ресурсов к контекстам привязано…
Что-то менять через базу — не выход для чайника… :(
Поменять контексты местами — операция не для чайника. Так что или учиться, или найти более опытного и смелого :)
Это просто:
1. в корневом index.php изменить на $modx->initialize('ukr');
2. Если есть плагин на onHandleRequest подправить его.
3. Проверить корректность настроек контекстов, если есть таковые, по идее от них в данном случае ничего не зависит.
4.убедиться что новой схеме не противоречат данные в конфиге, htaccess и нет всяких рудиментарных папок вида /ukr/ в корне с альтернативными настройками(и такое бывало и портило жизнь)
1. в корневом index.php изменить на $modx->initialize('ukr');
2. Если есть плагин на onHandleRequest подправить его.
3. Проверить корректность настроек контекстов, если есть таковые, по идее от них в данном случае ничего не зависит.
4.убедиться что новой схеме не противоречат данные в конфиге, htaccess и нет всяких рудиментарных папок вида /ukr/ в корне с альтернативными настройками(и такое бывало и портило жизнь)
Так я вот все это и сделал (в меру своего понимания), но не работает… Контекст по умолчанию не меняется
Это неправильный вариант, после обновления всё слетит. Если на хосте стоит Апач, то править надо .htaccess. Вот здесь подробная документация.
# Force language when requesting the root (/)
RewriteCond %{HTTP:Accept-Language} ^ukr [NC]
RewriteRule ^$ /ukr/ [R=301,L]
RewriteCond %{HTTP:Accept-Language} !^ukr [NC]
RewriteRule ^$ /ukr/ [R=301,L]
Кроме того, плагин OnHandleRequest тоже надо править.
Спасибо! Буду пробовать
Решение работает. Янис, Спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.