Параметры выборки

Параметры выборки

Основные параметры

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

Максимальное число документов отображаемое на одной странице в выборке.

Возможные значения - целое число, которое больше или равно нулю.

Значение по умолчанию - 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

Значение sortType определяет режим сортировки. Если не задано, то производится сортировка по критериям, указанным в параметрах orderBy или sortBy и sortDir

Возможные значения:

  • none - автоматическая сортировка правилами MySQL (обычно по primary key);
  • doclist - вывод документов в том порядке, в каком они переданы в сниппет через параметр documents;

Значение по умолчанию - 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, но имеет больший приоритет. Если установлены два параметра: order и sortDir, то будет использоваться значение параметра sortDir.

Возможные значения - ASC, DESC.

Значение по умолчанию - DESC (или определяется в контроллере).

Сортировка по TV-параметрам

tvSortType

Правила приведения типов TV-параметров при сортировке.

Возможные значения (перечисляются через запятую в том порядке, в котором указаны имена TV в параметре orderBy):

  • DECIMAL - числа с двумя знаками после запятой;
  • 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