locale vs context

О проблеме:

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 контекста, т.е. дата выводиться на русском языке.

Вопрос:

Сталкивался кто-нибудь с этой проблемой и как можно ее решить?

ЗЫ: Плагин переключения контекстов не модифицируя, сниппет на странице не вызывая?
Konstantin B
24 февраля 2014, 21:52
modx.pro
3 542
0

Комментарии: 2

De Ribaskin
25 февраля 2014, 23:13
0
Сколько раз локаль не вызывай, работать будет только первый вызов.
В файле index.php у вас запускается контекст web, если в нем есть настройка локали — она выполняется и работает.
Далее плагином вы переключаете контекст. настройки локали в нем уже не будут работать, потому что в web они уже инициализированы.

Я в такой ситуации прописывал base_path и дублировал в него index.php и config.core.php с нужными правками. ( не используя плагин переключения контекстов )
    Konstantin B
    26 февраля 2014, 00:21
    0
    Сколько раз локаль не вызывай, работать будет только первый вызов.
    Не, если setlocale() вызвать, то локаль смениться на последнюю вызванную, поэтому ее можно разобрать в плагине, в котором происходит смена контекста. Также смену локали можно вызвать в любом документе, что иногда очень удобно, но не в данном случае.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2