Symphony. Фильтрация источников данных
В фильтрах источников данных можно использовать параметры, дополнительные операторы, регулярные выражения и обычные значения для фильтрации результатов.
Обзор
Фильтры источников данных это правила выборки записей из разделов. Правила фильтрации основываются на полях разделов и каждое правило относится только к одному полю. Фильтры источников данных своего рода аналог SQL запроса WHERE, в котором вы определяете условия выборки данных. Если все условия фильтации имеют истинные значения, то соответствующая запись добавляется в результирующий вывод данных.
Использование
Фильтры добавляются в редакторе источников данных.
При добавлении нескольких правил фильтрации, помните, что каждое правило должно вернуть истинное значение, чтобы запись попала в результирующий вывод. Другими словами, правила фильтрации связываются между собой предикатом AND, а не OR.
Если фильтр содержит только параметр и этот параметр не установлен при выполнении фильтрации источника данных, то праавило фильтрации будет проигнорированно, так как если бы правила фильтрации не существовало вовсе.
Детали
Фильтр источника данных содержит поле и шаблон фильтрации для этого поля. Поле фильтра, выбирается из выпадающего списка полей, доступных для данного раздела. Шаблон фильтрации вводится в текстовое поле и может принимать следующие значения:
Вводимые значения | Описание | Пример |
Буквальные значения | Слова, фразы и цифры для сравнения. | my-entry-title, 2009-11-30 |
Параметры | Параметры, которые должны обрамляться фигурными скобками. | {$param} |
Перечисления параметров | Значение используемое по-умолчанию, если параметр не установлен. | {$color:red} |
Оператор объединения | Список допустимых значений, разделённых запятыми. Соответствует оператору OR. | red, blue, green |
Оператор пересечения | Список допустимых значений, разделённых запятыми. Соответствует оператору AND. | red+blue+green |
Операторы диапазона значений | Ключевое слово to или фразы earlier than и later than используются для работы с числами и датами. | later than {$today}, 10 to 100 |
Регулярное выражение | Ключевое слово regexp следует перед MySQL шаблоном регулярного выражения. | ^b |
Приведённые выше примеры могут быть использованы вместе:
- {$color:black}-mens-fleece
- earlier than {$today}
- regexp: {$param}s?
The Big Picture
Фильтры источников данных и параметры, используемые вместе, являются наиболее мощным механизмом работы проектов на Symphony.