Можно ли написать в вызове сниппета условие?

Всех с новым годом!
Возник вопрос

Вызываю к примеру сниппет proPage

[[!pdoPage?
    &limit=`15`
    &includeTVs=`image`
--> и вот здесь нужно условие, например
    [[*id:is='2':then='
    &parents=`[[*parent]]`
    ']]
]]
Соответственно так не работает. Можно ли вообще воткнуть условие в вызов сниппета?

Я конечно могу весь сниппет обернуть в условие, но тогда потребуется сделать целых 3-4 сниппета, чего не хотелось бы
Андрей
04 января 2020, 23:27
modx.pro
335
0

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

Андрей
05 января 2020, 00:05
+1
На Fenom можно так:
{switch $_modx->resource.id}
    {case 2}
        {var $pid = $_modx->resource.parent}
    {case 10}
        {var $pid = 10}
    {case default}
        {var $pid = 1}
{/switch}

{'!pdoPage' | snippet : [
    'limit' => 15,
    'parents' => $pid
]}

Стандартным парсером как то так должно сработать:
[[!pdoPage?
    &limit=`15`
    &includeTVs=`image`
    &parents=`[[*id:is=`2`:then=`[[*parent]]`]]`
]]

Третий вариант написать свой сниппет-обёртку и запускать что нужно через runSnippet, суть аналогична решению на fenom, только работа будет идти в сниппете а не в шаблоне.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1