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

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

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

    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