Добрый день, коллеги.
Очень нужна Ваша помощь в решении вопроса.
Делаю вывод ТВ (чекбоксами) в админку вот так:
@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'=>'||'));<br />
Олег Анатольевич, большое спасибо за ответ.
Я только начинаю работать с МодХ (несколько месяцев).
Вопрос помогли решить таким путем, делюсь может кто-еще будет искать из начинающих:
@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;