Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

MODX статьи, уроки и готовые решения для MODX Revo

Сайдбар

Cоздание списка TV c множественны выбором Ресурсов

04 нояб. 2012

MODX (практически, а может и на самом деле), ввел в мир CMS Custom Fields – настраиваемые поля, или как их стали называть – Шаблонные Переменные (TVs). Для выбора TV существует много входных данных, поэтому они образуют базу данных,  из чтобы конечный пользователь затем мог их выбрать. Тип входных данных с множественным выбором позволяет пользователю выбрать несколько единиц из списка с разделителями в виде “||”, заданными во входных параметрах. Тип входных данных Списка Ресурсов дает возможность пользователю выбрать Ресурс (Resource) из Дерева Ресурсов (Resource Tree). А что произойдет, если вы захотите, чтобы пользователь смог выбрать мультиресурсы? Это никак не сделать.

Ответ есть, мой друг, и что самое неожиданное – он в документации.


Как всегда, официальное руководство по Входным типам TV (TV Input Types) отвечает на все вопросы.
Ответ есть в разделе Check Box под Advanced.
Использование: http://rtfm.modx.com/display/revolution20/Template+Variable+Input+Types#TemplateVariableInputTypes-AdvancedUsage
Просто разместите нижеприведенный оператор выбора @SELECT в поле значений входных опций (Input Option Values), который можно найти на вкладке Input Options, затем отредактируйте или создайте TV (это также хорошо работает с выпадающим меню Множественного Выбора (Multi-Select), как и с Check Boxes).
<code>@SELECT pagetitle, id FROM modx_site_content WHERE parent=35</code>
<code> </code>
Прервемся на минутку
Это будет запрос «FROM»  к таблице базы данных «modx_site_content,  который вернет „pagetitle“ как Имя, и „id“  как значение, „WHERE“ всегда будет „parent=35“. Очевидно что вы заменяете „35“ значением того Ресурса, который содержит то, что вы хотите перечислить.
Вот и все. Не могу поверить, как это просто. Т.к. вы делаете это с выпадающим меню Multi-Select или Check Box TV, пользователь может выбрать больше чем один возвращаемый загловок страницы pagetitle,  а  TV будет выводить IDs.
 
Внимание! Вы должны выбрать „Delimiter“ как выходную опцию, и задать запятую »," как ограничитель, если хотите использовать результат в качестве свойства в вызовах сниппетов.






Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (3)

  1. Iskander BS 09 июля 2014, 15:29 # 0
    Огромное спасибо, сэкономил уйму времени. Небольшой вопрос, в параметрах вывода выбираю URL, и ссылки работают правильно, но текст ссылки это ID номер ресурса на который она ссылается, при попытке написать выводится имя текущей страницы. Как прописать вывод ссылки с текстом pagetitle ресурса на который ведет ссылка?
    1. ff 17 декабря 2015, 04:17 # 0
      Лучше использовать [[+PREFIX]] вместо modx_
      @SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 35
      Иначе при переносе сайта и изменении префикса базы все отвалится.
      1. Денис 24 марта 2016, 19:12 # 0
        С-П-А-С-И-Б-О :)

        Услуги по MODX Revolution

        Посмотреть все услуги

        Техническая оптимизация сайта

        Подробнее & Заказать

        Создание сайта на MODX Revolution

        Подробнее & Заказать

        Перенос сайта на MODX Revolution

        Подробнее & Заказать

        Продвижение сайта на MODX

        Подробнее & Заказать