Застосування multiTV в Ditto multiTvFilter екстендер Ditto PHx модифікатори.
Так як рядок JSON в multiTV починається з (Примітка 1), ви не можете перевірити multiTV на порожнечу, тобто. .
Але ви могли б використовувати в цьому випадку PHx модифікатори з папки phx-modifier. Перемістіть два файли з цієї папки в assets/plugins/phx/modifiers.
Приклад використання:
Якщо docid не встановлено, за замовчуванням використовується поточний документ.
Для фільтрації рядків, що відображаються Ditto скористайтеся екстендером multiTvFilter.
| Параметр | Опис |
|---|---|
| multiTvFilterBy | (обов'язковий параметр) ім'я змінної multiTV |
| multiTvFilterOptions | json-масив параметрів фільтра |
Можуть бути використані наступні параметри фільтра
| Параметр | Опис |
|---|---|
| name | ім'я поля multiTV, яке використовується для фільтрації |
| type | тип вмісту поля multiTV (можливі варіанти: date, text) |
| value | Значення поля multiTV для фільтрації |
| mode | режим фільтрації вмісту поля multiTV |
| conjunction | Логічний зв'язок з попереднім фільтром (AND/OR) |
Наступні режими можуть бути використані для поля типу text:
| Тип порівняння | Опис |
|---|---|
| contains | фільтрувати, якщо хоча б одне поле містить текст критерію |
| allcontains | фільтрувати, якщо всі поля містять текст критерію |
| containsnot | фільтрувати, якщо одне з полів не містить текст критерію |
| allcontainsnot | фільтрувати, якщо всі поля не містять текст критерію |
| is | фільтрувати якщо одне поле відповідає критерію |
| allis | фільтрувати якщо всі поля відповідають критерію |
| isnot | фільтрувати, якщо одне з полів не відповідає критерію |
| allisnot | фільтрувати, якщо всі поля не відповідають критерію |
Наступні режими можуть бути використані для поля типу date:
| Тип порівняння | Опис |
|---|---|
| before | фільтрувати, якщо одне поле менше критерію |
| beforeall | фільтрувати, якщо всі поля менше критерію |
| equal | фільтрувати, якщо одне поле дорівнює критерію |
| equalall | фільтрувати, якщо всі поля рівні критерію |
| after | фільтрувати, якщо одне поле більше критерію |
| afterall | фільтрувати, якщо всі поля більші критерію |
Показати всі дочірні документи контейнерів 3, 4 і 5, у яких змінна шаблона multiTV event в стовпці title не містить Important
Якщо ви хочете фільтрувати за кількома значеннями multiTV, додайте ще один масив в multiTvFilterOptions. У цьому прикладі відобразяться всі дочірні документи контейнерів 3, 4, і 5 у яких змінна шаблону multiTV event в стовпці title не містить Importantі всі стовпці location відповідають Outdoor.
Версия 1.4.11 multiTV використовує новий формат даних (імена стовпців зберігаються у вигляді ключ - значення). Змінна і сніпет підтримують старий і новий формати, так що вам не доведеться оновлювати multiTVs. Але вам це потрібно, якщо ви захочете додати / видалити стовпці в multiTVs. Викличте сніпет в документі MODX наступним чином:
[!updateTV? &tvNames=`yourMultiTVname1,yourMultiTVname2`!]
| Параметр | Опис | Значення за замовчуванням |
|---|---|---|
| tvNames | (обов'язково) розділений комами список імен змінних, які містять дані multiTV | - |