DocLister: Параметры выборки
- Дополнения
- DocLister
- Параметры выборки
DocLister: Параметры выборки
&controller
Задает класс для выборки данных. Базовые классы (расположены в папке DocLister/core/controller/):
- site_content - для работы с документами MODX;
- shopkeeper - для работы с каталогом Shopkeeper;
- onetable - для работы с произвольными таблицами;
- site_content_tags - вывод документов MODX с фильтрацией по тэгам в связке с плагином TagSaver.
Значение по умолчанию - site_content
&idType
Тип выборки документов.
Список документов подставляемых в запрос будет выбран из параметра, имя которого совпадает со значением данного параметра.
Во избежание недоразумений рекомендуется всегда явно определять этот параметр. Особенно актуально, когда одновременно используются параметры parents и documents.
Возможные значения - parents, documents.
Значение по умолчанию - parents
&parents
Выборка документов на основании списка родительских документов.
Возможные значения - значения id родительских документов, разделенные запятой.
Значение по умолчанию - id страницы, на которой вызывается сниппет.
&documents
Выборка произвольных документов.
Если используется параметр parents__, то документы перечисленные в этом параметре будут просто подмешаны в результат и подвержены последующим правилам выборки (фильтрация, сортировка).
Возможные значения - значения id документов, разделенные запятой.
&ignoreEmpty
Позволяет сделать выборку всех записей из таблицы, если параметр documents не задан. Параметр idType в этом случае должен быть documents.
Возможные значения - 1 или 0.
Значение по умолчанию - 0.
&display
Максимальное число документов при выборке.
Возможные значения - целое число, которое больше или равно нулю.
Может быть переопределено значением параметра queryLimit.
Значение по умолчанию - 0.
&queryLimit
Максимальное число документов при выборке.
Возможные значения - целое число, которое больше или равно нулю.
Значение по умолчанию - 0.
&depth
Глубина выборки с использованием параметра parents.
Возможные значения - целое число, которое больше или равно нулю.
Значение по умолчанию - 0.
&offset
Число пропускаемых документов с начала списка. Переопределяется при использовании пагинации. Если же требуется всегда пропускать N документов, то необходимо использовать параметр start.
Возможные значения - целое число, которое больше или равно нулю.
Значение по умолчанию - 0.
&start
Число документов пропускаемых с начала выборки. Складывается со значением offset автоматически устанавливаемым при пагинации.
Возможные значения - целое число, которое больше или равно нулю.
Значение по умолчанию - 0.
&total
Максимальное число документов отображаемое на 1 странице в выборке.
Возможные значения - целое число, которое больше или равно нулю.
Значение по умолчанию - 0.
&addWhereList
Дополнительные условия выборки документов. Любая строка удовлетворяющая требованиями строки для подстановки в WHERE блок SQL запроса.
Значение по умолчанию - пусто.
&showParent
Исключение документов из которых делалась выборка с использованием параметра parents.
Возможные значения:
- 0 - принудительное игнорирование родителей в выборке;
- 1 - принудительное добавление родителя в выборку;
- -1 - игнорируются только родители, указанные в параметре parents.
Значение по умолчанию - 0.
&selectFields
Имена полей, включаемых в выборку.
Значение по умолчанию - пусто.
&groupBy
Группировка результатов по какому-нибудь полю.
Значение по умолчанию - определяется в контроллере
Параметры выборки для произвольных таблиц (контроллер onetable)
&table
Имя таблицы по которой будет производиться выборка. Если в таблице PrimaryKey отличается от id, то необходимо дополнительно задать имя этого поля в параметре idField.
Возможные значения - любое имя таблицы без префикса таблиц MODX.
Значение по умолчанию - site_content
&idField
Имя поля PrimaryKey. Документы, указанные через параметр documents, будут выбираться по этому полю.
Возможные значения - любое имя поля доступного в таблице, указанной через параметр table.
Значение по умолчанию - id
&parentField
Имя поля в котором хранятся значения idField родительских документов. Используется при выборке документов из параметра parents.
Возможные значения - любое имя поля доступного в таблице, указанной через параметр table.
Значение по умолчанию - parent.
Выборка с TV-параметрами
&tvPrefix
Префикс для плейсхолдеров создаваемых из имен TV-параметров.
Значение по умолчанию - tv
&tvList
Список TV-параметров, которые должны быть в выборке.
Возможные значения - имена TV-параметров, разделенные запятой.
Значение по умолчанию - пусто.
&renderTV
TV-параметры, значение которых необходимо подготовить к отображению в соответствии с установленными виджетами. TV параметры которых нет в значении параметра tvList будут проигнорированы.
Возможные значения - * или список имен TV параметров, разделенный запятой.
Значение по умолчанию - пусто.
Сортировка
&sortType
Значение none определяет автоматическую сортировку правилами MySQL (как правило по primary key).
Возможные значения:
** none - автоматическая сортировка правилами MySQL (обычно по primary key);
** doclist - вывод документов в том порядке, в каком они переданы в сниппет через параметр documents;
** other - сортировка по критериям указанным в параметрах orderBy, order и sortBy.
Значение по умолчанию - none.
&orderBy
Единая строка сортировки (как минимум совокупность параметров sortBy и sortDir, но имеет больший приоритет).
Возможные значения - любая строка удовлетворяющая правилам построения параметра ORDER BY в SQL запросе. При сортировке в контроллере site_content желательно использовать префикс c. для полей таблицы site_content. Имена TV-параметров указываются как есть.
Для сортировки в случайном порядке значение параметра orderBy будет "RAND()".
Значение по умолчанию - id DESC (или определяется в контроллере)
&sortBy
Критерий сортировки без направления сортировки.
Возможные значения - любая строка удовлетворяющая правилам построения параметра ORDER BY в SQL запросе. Имена TV-параметров указываются как есть.
Значение по умолчанию - пусто. Значение по умолчание может быть жестко задано в контроллере.
&order
Направление сортировки.
Возможные значения - ASC, DESC. Значение данного параметра может быть переопределено значением параметра sortDir.
Значение по умолчанию - DESC.
&sortDir
Синоним параметра order, но имеет больший приоритет. Если установлены 2 параметра order и sortDir, то будет использоваться значение параметра sortDir.
Возможные значения - ASC, DESC.
Значение по умолчанию - DESC (или определяется в контроллере).
Сортировка по TV-параметрам
&tvSortType
Правила приведения типов TV-параметров при сортировке.
Возможные значения (перечисляются через запятую в том порядке, в котором указаны имена TV в параметре orderBy):
- DECIMAL - числа с 2 знаками после запятой;
- UNSIGNED - беззнаковые целые числа;
- SIGNED - целые больше нуля;
- BINARY - бинарный режим;
- DATETIME - дата;
- TVDATETIME- приводит строку в дату согласно формату, который используется TV-параметром с типом ввода "Date" (доступно только из контроллеров на базе site_content).
&tvSortWithDefault
В силу особенностей движка (TV-параметры значения которых совпадают со значениями по умолчанию не сохраняются в отдельную таблицу), сортировка записей может быть не корректа, если Значение по умолчанию отличается от пустой стрки. Поэтому рекомендуется дополнительно указывать ТВ параметры у которых принудительно указано Значение по умолчанию.
Фильтрация
&showNoPublish
Вывод удаленных или не опубликованных ресурсов (используется только в контроллерах на базе site_content)
Возможные значения - 0/1.
Значение по умолчанию - 0
&filters
Правила для фильтрации документов.
Возможные значения - cтрока сформированая по правилам описанным в DocLister::getFilters(). Подробнее в разделе "Фильтры".
Значение по умолчанию - пусто.
Пример строки:
OR(AND(filter:field:operator:value;filter2:field:operator:value);(...))
&filter_delimiter
Разделитель фильтров для режима containsOne.
Возможные значения - любая строка.
Выборка по тэгам
&tagsData
Строка определяющая источник тэгов.
Возможные значения - cтрока с правилами разделеная двоеточием.
Значение по умолчанию - пусто.
Для автоматической подстановки тэгов из GET переменной необходимо указать имя этой переменной передав в этом параметре значение типа get:tag. В таком случае тэги должны подставляться в $GET['tag']. В случае же если нужна статичная выборка, то можно get заменить на static и после двоеточия передать значение тэга, например, static:значениетэга
Дополнительные данные
&urlScheme
Схема генерации URL
Возможные значения - схемы доступные в MODX Evolution (относительные, http, https, full).
Значение по умолчанию - пусто (относительные)
&dateSource
Поле документа в котором располагается дата.
Возможные значения - название поля в таблице. Если в качестве значения была указана строка отличная от createdon и значение данного поля в базе равно 0, то тогда все равно берется значение из createdon. Для примера: Вы используете отложенную публикацию для некоторых документов и указываете сортировку по полю pub_date. Так вот, c DocLister у вас никогда не получится ситуации, что документы опубликованные без отложенной публикации всегда будут в конце списка.
Значение по умолчанию - pub_date.
&dateFormat
Правила форматирования даты (format) для PHP функции strftime.
В качестве источника даты используется параметр dateSource. Помимо этого учитывается смещение даты на сервере (смотрите системный параметр server_offset_time). Таким образом, можно использовать персонализованную подстановку времени в зависимости от часового пояса пользователя.
Значение по умолчанию - %d.%b.%y %H:%M.
&summary
Правила обработки текстов для формирования краткого описания. Загружает экстендер summary. В контроллере site_content есть дополнительное правило для обрабатываемого текста: по умолчанию на обработку отправляется поле content. Но если поле introtext не пустое, то текст именно из этого поля будет передан в дополнение summary. Аналогичным образом себе ведет и контроллер onetable.
Возможные значения - cтрока сформированная по правилам экстендера summary:
действие1:параметр1,действие2:параметр2А:параметр2Б,действие3
Значение по умолчанию - пусто.
&introField
Имя поля для источника краткого описания текста из contentField. Используется только если загружен экстендер summary.
Значение по умолчанию - пусто.
&contentField
Имя поля в котором хранится основной текст документа. Используется только если загружен экстендер summary
Значение по умолчанию - пусто.
&e
Экранирование значений полей. Имена полей доступны в шаблонах через плейсхолдеры с префиксом e: [+e.pagetitle+], [+e.longtitle+].
Возможные значения - имена полей, через запятую.
&jotcount
Добавляет в выборку количество комментариев JotX с помощью экстендера jotcount.
Возможные значения - 1 или 0.
Значение по умолчанию - 0.