Применение фильтра в UltimateParent
Добрый день, коллеги!
Мне недавно по моему вопросу подсказывал уважаемый Pavel Romanov.
Я спрашивал: «Как распространить действие условия и на страницу с id=21 и на все уровни вложенности в нее. Т.е. на моем примере на этот пункт меню и на все его дочерние, не взирая на уровень вложенности.»
Он предложил отлично работающую конструкцию. До недавних пор :)
т.е. типа такого что-то
Заранее благодарю. С ув.
Мне недавно по моему вопросу подсказывал уважаемый Pavel Romanov.
Я спрашивал: «Как распространить действие условия и на страницу с id=21 и на все уровни вложенности в нее. Т.е. на моем примере на этот пункт меню и на все его дочерние, не взирая на уровень вложенности.»
Он предложил отлично работающую конструкцию. До недавних пор :)
[[UltimateParent:is=`21`:then=``:else=``? &topLevel=`....`]]
На данный момент стало необходимо добавить еще один ID с другим then, но таким же else в данную конструкцию.т.е. типа такого что-то
[[UltimateParent:is=`21`:then=``:oris=`22`:then=``:else=``? &topLevel=`....`]]
чтоб было два разных «is» со своими «then», но один общий «else». Это осуществимо? Заранее благодарю. С ув.
Комментарии: 6
Тогда просто сделайте сниппет типа:
$param = array(
'topLevel' = .......
);
$parent = $modx->runSnippet('UltimateParent', $param);
if($parent == 21) {
$output = 'что-то для 21';
} elseif ($parent == 22) {
$output = 'что-то для 22';
} else {
$output = 'что-то, что ни туда, ни туда не попадает';
}
return $output;
Спасибо, Вам, огромаднейшее. В который раз выручили! Единственное: с таким кодом
Теперь еще два вопроса:
1. Правильно ли я поправил Ваш код?
2. Вызывать сниппет кешируемым, или нет?
'topLevel' = 2
— вываливалось в ошибку. Сделал так: 'topLevel' == 2
— так работает безупречно.Теперь еще два вопроса:
1. Правильно ли я поправил Ваш код?
2. Вызывать сниппет кешируемым, или нет?
Да, сорри, это я описался.
Должно быть так:
Должно быть так:
$param = array(
'topLevel' => 2
);
По идее, можно кешированным — у Вас же нет каких-то динамических параметров или переменных запроса.
Понял, сейчас у себя поправлю. Нет, там просто текст выводится в дивах. Спасибо, Павел, Вам еще раз!!!
Павел, он лучший из лучших! Такого благородного, щедрого и доброго человека я не видела в своей жизни. Я тоже очень благодарна ему.
Спасибо, еще раз!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.