locale vs context
О проблеме:
MODX REVO 2.2.11
2 контекста:
При форматированном выводе даты ([[+createdon:strtotime:date=`%A, %d.%m.%Y`]]).
Дата выводится на языке выбранном в контексте web (locale), если убрать настройки контекста web, то настройки берутся с rus контекста, т.е. дата выводиться на русском языке.
Вопрос:
Сталкивался кто-нибудь с этой проблемой и как можно ее решить?
ЗЫ: Плагин переключения контекстов не модифицируя, сниппет на странице не вызывая?
MODX REVO 2.2.11
2 контекста:
- ENG
- base_url — /eng/
- cultureKey — en
- locale — en_US.UTF-8
- site_start — 5
- site_url — */eng/
- RUS
- base_url — /rus/
- cultureKey — ru
- locale — ru_RU.UTF-8
- site_start — 1
- site_url — */rus/
При форматированном выводе даты ([[+createdon:strtotime:date=`%A, %d.%m.%Y`]]).
Дата выводится на языке выбранном в контексте web (locale), если убрать настройки контекста web, то настройки берутся с rus контекста, т.е. дата выводиться на русском языке.
Вопрос:
Сталкивался кто-нибудь с этой проблемой и как можно ее решить?
ЗЫ: Плагин переключения контекстов не модифицируя, сниппет на странице не вызывая?
Комментарии: 2
Сколько раз локаль не вызывай, работать будет только первый вызов.
В файле index.php у вас запускается контекст web, если в нем есть настройка локали — она выполняется и работает.
Далее плагином вы переключаете контекст. настройки локали в нем уже не будут работать, потому что в web они уже инициализированы.
Я в такой ситуации прописывал base_path и дублировал в него index.php и config.core.php с нужными правками. ( не используя плагин переключения контекстов )
В файле index.php у вас запускается контекст web, если в нем есть настройка локали — она выполняется и работает.
Далее плагином вы переключаете контекст. настройки локали в нем уже не будут работать, потому что в web они уже инициализированы.
Я в такой ситуации прописывал base_path и дублировал в него index.php и config.core.php с нужными правками. ( не используя плагин переключения контекстов )
Сколько раз локаль не вызывай, работать будет только первый вызов.Не, если setlocale() вызвать, то локаль смениться на последнюю вызванную, поэтому ее можно разобрать в плагине, в котором происходит смена контекста. Также смену локали можно вызвать в любом документе, что иногда очень удобно, но не в данном случае.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.