We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37954
    • 8 Posts
    Доброго времени суток, столкнулся с проблемой - необходимо реализовать смену шаблона Ditto при определенных условиях. То есть, есть TV параметр checkbox и стандартный шаблон Ditto (tpl1) примененный ко всем материалам, нужно чтобы для документов у которых значение TV параметра checked применялся немного другой шаблон и они выводились иначе.

    По подсказкам пытался реализовать это с помощью PHx, пока безуспешно.

    Есть еще мысль, просто 2 раза вызывать Ditto на одной странице, для первого вызова задат стандартный шаблон и с помощью &filters ограничить вывод помеченных товаров, а для второго наоборот сделать только вызов помеченных товаров и применить другой шаблон. То есть как-то так:
    [!Ditto? &filters=`tvname, checked, 2` &tpl=`tpl1`!]

    [!Ditto? &filters=`tvname, checked, 1` &tpl=`tpl2`!]


    можно ли использовать такой метод? или 2 вызова на одной странице нежелательно?
    Кто, что может подсказать по этому вопросу?

    upd этот вариант теперь явно не подходит, так как каждый вызов Ditto собирает товары группам, то есть идет сначала весь список товаров не акционных, а потом все вместе акционные, так что нужно другое решение. Попробовал сделать с помощью PHx и подставить в &tpl такое значение:

    [+phx:if=`[+tvname+]`:is=`1`:then=`{ {шаблон 1} }`:else=`{ {шаблон 2} }`+]

    но получаю сообщение

    &tpl или не содержит каких-либо плейсхолдеров, или является неверным названием чанка, блоком кода или именем файла. Пожалуйста, проверьте его.

    В чем ошибка? может все таки кто-то в курсе? [ed. note: villord last edited this post 14 years, 10 months ago.]