We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 35737
    • 30 Posts
    Здравствуйте, уважаемые форумчане!

    Платформа и версия сниппета:
    CMS MODx Revo 2.1.3
    Snippet getResources 1.3.1

    Теперь, собственно, описание проблемы. Есть конструкция:

    [[!getResources?
      &parents=`2,3,4,5,6,14,15,16,17,24`
      &hideContainers=`1`
      &tpl=`SiteCatDescrTpl`
      &limit=`10`
      &sortby=`publishedon`
      &includeTVs=`1`
      &processTVs=`1`
      &tvFilters=`Publ == yes`
      &outputSeparator=` <br> `
    ]]


    Вот при добавлении параметра &tvFilters выборка и не происходит. Иными словами я вижу свой замечательный дизайн сайта, менюшки, подвал, а в части страницы, на которой должнен отображаться список элементов - пусто. Через поиск ничего вразумительного не нашел по этой теме.

    Если эта информация поможет, то дополнительно могу сообщить следующее:

    TV-параметр Publ задавал разными способами (предпочтительней, конечно, чекбокс, но я пробовал и просто текстовое поле - без изменений).
      • 35737
      • 30 Posts
      Проблема решена. Может быть кому-то поможет в будущем. Все дело в очень большой требовательности CMS к синтаксису. В итоге, конструкция получилась абсолютно правильной, ошибка только в одном месте:

      &tvFilters=`Publ == yes` - неправильно

      &tvFilters=`Publ==yes` - правильно


      В общем, getResources неприемлет пробелы между параметром, знаками вопроса и значением параметра, поэтому ничего не работает.

      Еще есть такой недостаток, который иногда может сыграть плохую службу - нет оператора !=. Конечно, может это и у меня руки кривые, но, что характерно, в мануале по адресу http://rtfm.modx.com/display/ADDON/getResources он так же отсутствует как вид. Есть операторы ’И’(,) , ’ИЛИ’ (||), собственно этим фильтрация по TV и ограничивается. Хотя нет, есть один момент. Вышеприведенную конструкцию для подстраховки можно написать следующим образом:

      &tvFilters=`Publ==%yes%`


      Здесь знаки процентов являются маской. Иными словами в данном случае и перед, и после значения могут быть какие-то символы. Если поставить знак процентов только перед, то символы могут быть (а могут и не быть - это важно) перед значение, ну и если знак процентов стоит после значения, то символы могут добавляться только после значения.

      Надеюсь, что мои изыскания хоть кому-то помогут.