Почему в pdoPage при переходе на другую страницу новостей сбрасывается контекст? Как это исправить?

Есть страница с новостями. На ней есть pdoPage. Вот вызов:
[[!pdoPage?
    &elementClass=`modSnippet`
    &element=`pdoResources`

    &parents=`[[*id]]`
    &tpl=`allnewsItem`
    &includeTVs=`newsImg, newsDate`
    &prepareTVs=`1`
    &depth=`0`
    &limit=`6`
    &includeContent=`1`

    &ajax=`1`
    &ajaxMode=`default`

    &pageVarKey=`page`
    &pageNavVar=`page.nav`
]]

На сайте два контекста — web (по умолчанию, он русский) и en (английский).
В карточке новости есть вызов сниппета, результат которого зависит от контекста. Вот примерный код.
<?php
switch($context = $modx->context->key) {
  case 'web':
    $result = 'Привет';
    break;
  case 'en':
    $result = 'Hello';
    break;
}

return $result;

Если я зайду на английскую версию сайта, открою страницу с новостями, в карточке будет выводиться «Hello». Потом я перейду, например, на страницу 2. И в карточке будет выводиться «Привет». Хотя я все еще на английской версии сайта.

Почему так происходит? Должно же выводиться «Hello».
Как это можно исправить?

Использовать лексиконы — не вариант, т.к. строка в реальном проекте создается динамически.
Andry
02 июля 2020, 21:49
modx.pro
682
0

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

Максим
03 июля 2020, 11:22
0
Добавьте параметр &context с указанием нужного контекста.
Родным синтаксисом кажись так будет:
&context=`[[*context_key]]`
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1