We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 18807
    • 3 Posts
    Вопрос к гуру.
    В темплейте необходимо подгружать определённый чанк, в зависимости от того в каком разделе ты находишься.
    Т.е. например в статьях и всех подкатегориях показывается в каком-то месте что-то одно, в новостях другое.
    Пробовал делать через PHx

    Самое простое:
    [+phx:if=`[*id*]`:is=`33`:then=`{{pttabs}}`+] 
    это работает, можно указать и несколько значаний id:
    [+phx:if=`[*id*]`:is=`33`or:is=`3`:then=`{{pttabs}}`+] 
    Не проверял но по идее тоже должно работать. Но один большой недостаток во всем этом - надо указывать id всех документов, в которых хочешь видеть этот чанк. А это морочно, если разветвлённая структура.

    Попробовал сделать через UltimateParent:
    [+phx:if=`[!UltimateParent? &id=`[*id*]` &top=`0`!]`:is=`1`:then=`{{intro_tabs}}`+]

    Но такая конструкция почему-то не заработала.
    Подскажите, как можно решить эту задачу какими либо другими способами, не плодя темплейты. Я думаю многие с такой задачей должны были сталкиваться. Может сделать какой-то парамтр TV который будет определят ь в каких документах что выводить, или написать отдельный чанк?
    Спасибо заранее!
      Sed semel insanivimus omnes...
      • 18807
      • 3 Posts
      Как ни странно, сделал вызов UltimateParent кешируемым - нижеследующая конструкция заработала:

      [+phx:if=`[[UltimateParent?id=`[*id*]` &top=`0`]]`:is=`48`:then=`{{phototabs}}`+]
      [+phx:if=`[[UltimateParent?id=`[*id*]` &top=`0`]]`:is=`1`:then=`{{intro_tabs}}`+]
      [+phx:if=`[[UltimateParent?id=`[*id*]` &top=`0`]]`:is=`33`:then=`{{pttabs}}`+]


      Т.е. для раздела и подкаталогов выводится один чанк.

      Есть какие-то более изящные решения вывода?
        Sed semel insanivimus omnes...