Встановлення сніппета tagLinks для створення списка посилань для сортування документів за категоріями.
Створюємо TV-пареметр tags із значенням Text і вказуємо всі шаблони, для яких він буде застосовуватися.
Данний параметр буде вміщувати теги (або інакше категорії), по яких ми будемо сортувати документи. Існує декількі варіантів додавання тегів.
1. Якщо всі категорії визначені завчасно
В цьому випадку слід скористатись полем "Можливі значення", де перерахує всі категорії в такому вигляді:
Категорія1||Категорія2||Категорія3 ...
Як "Візуальний компонент" вкажіть "Delimited List" із значенням ", ".
Пам'ятайте, що MODX дозволяє зберігати ці дані в чанку або ж в файлі, котрі підключаються @CHUNK tags або ж @FILE assets/files/tags.txt
2. Якщо категорії додаються користувачами
В цьому випадку в "Можливих значень" нічого не вказуємо, і для зручності користувачів підключаємо віджет mm_widget_tags плагіна ManagerManager.
На даній сторінці буде відбуватись сортування документів за заданими тегами. Сортувати ми будемо за допомогою сніппета Ditto. Як псевдонім документа вкажемо main. У вмісті розмістим приблизно такий виклик Ditto:
[!Ditto? &id=`tags` &tagData=`tags` &tagDelimiter=`, ` &parents=`0` &depth=`5` &showInMenuOnly=`1` &display=`10` &tpl=`tplDoc` &paginate=`1` &dateSource=`pub_date` &sortBy=`pub_date` &dateFormat=`%d.%m.%Y` &hiddenFields=`tags`!]
<div class="pagination">[+tags_previous+] [+tags_pages+] [+tags_next+]</div>
де:
&tagData=`tags` &tagDelimiter=`, `
- обов'язкові параметри виклику&parents=`0`
- список ID ресурсів через кому, в яких відбувається пошук документів з тегами, в даному випадку вибраний корінь сайта&depth=`5`
- глибина перегляду&showInMenuOnly=`1`
- показувати тільки документи в яких поставлений прапорець «Показувати в меню»&display=`10`
- кількість знайденних документів на сторінці&tpl=`tplDoc`
- шаблон виведення знайденного документа&paginate=`1`
- включаємо поділ по сторінкахУ вас виклик Ditto може мати інші параметри и значення.
Там, де нам необхідно вивести список тегів, котрим відповідає документ, поміщаємо виклик сніппета:
[[tagLinks? &id=`424` &value=`` &separator=`, ` &element=`span` &fap=`1` &path=`main` &label=` `]]
в шаблоні для Ditto виклик буде таким:
[[tagLinks? &id=`` &value=`` &separator=`, ` &element=`span` &fap=`1` &path=`main` &label=` `]]
де:
&tagData=`tags` &tagDelimiter=`, `
- обов'язкові параметри виклику&parents=`0`
- список ID ресурсів через кому, в яких відбувається пошук документів з тегами, в даному випадку вибраний корінь сайта&id=`424`
- id документа, вміщающого теги&value=``
- TV-параметр, в котрому збкрігаються теги&separator=`, `
- розділювач між посиланнями&element=`span`
- элемент, яким обгортуємо список посилань&path=`main`
- шлях до сторінки з сортуванням за тегами