17 мар. 2016 г., 9:34

Вывод ТВ в админку через @EVAL

Добрый день, коллеги. Очень нужна Ваша помощь в решении вопроса. Делаю вывод ТВ (чекбоксами) в админку вот так:
@EVAL $output = $modx->runSnippet('pdoResources',array( 'parents'=> '88,94,95', 'tpl'=>'@CODE:[[+pagetitle]] / [[+longtitle]]==[[+id]]', 'hideContainers'=>'1', 'outputSeparator'=>'||')); return '' . $output;
Все хорошо работает, вот только сайт мультиязычный и в строке:
'parents'=> '88,94,95',
должен быть только один ид, тот который принадлежит языку, а не все 3 сразу. Никак не могу этого добиться. Я не думаю, что первый, кто столкнулся с данным вопросом, но, к сожалению, найти ответ не удалось.
Уже пробовал разные вариации. 1.
'parents'=>$modx->getOption('myParentId'),
В контексты забил опцию myParentId и каждому языку присвоил нужный ид. Просто создал сниппет (для теста вывода):
return $modx->getOption('myParentId');
Во фронтенде он возвращает ид шаблона соответствующего данному языку, а в админке подтягивает непонятно что.
2. И так пробовал:
$cultureKey = $modx->getOption('cultureKey'); $parent = ''; switch($cultureKey){ case 'ru': $parent = 88; break; case 'ua': $parent = 94; break; case 'en': $parent = 95; break; } $output = $modx->runSnippet('pdoResources',array( 'parents'=>$parent,
Может есть у кого-то решение, или предположения?
надеюсь ты понимаешь, что в админке всегда активен контекст mgr, поэтому твое
>> $cultureKey = $modx->getOption('cultureKey');
не работает
тебе нужно всего лишь узнать, в каком контексте находится редактируемый документ
$parent = 0; switch($modx->resource->context_key){ case 'ru': $parent = 88; break; case 'en': $parent = 95; break; default: } $output = $modx->runSnippet('pdoResources',array( 'parents'=> $parent, 'tpl'=>'@CODE:[[+pagetitle]] / [[+longtitle]]==[[+id]]', 'hideContainers'=>'1', 'outputSeparator'=>'||'));
Олег Анатольевич, большое спасибо за ответ. Я только начинаю работать с МодХ (несколько месяцев). Вопрос помогли решить таким путем, делюсь может кто-еще будет искать из начинающих: @EVAL $parent = $_GET; switch(end($parent)){ case 'web': $parent_w = 88; break; case 'ua': $parent_w = 94; break; case 'en': $parent_w = 95; break; } $output = $modx->runSnippet('pdoResources',array( 'parents'=> $parent_w, 'tpl'=>'@CODE:[[+pagetitle]] / [[+longtitle]]==[[+id]]', 'hideContainers'=>'1', 'outputSeparator'=>'||')); return $output;

Добавить комментарий