Есть страница с новостями. На ней есть 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».
Как это можно исправить?
Использовать лексиконы — не вариант, т.к. строка в реальном проекте создается динамически.