Параметри вибірки

    Параметри вибірки

    Основні параметри

    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__, то документи перераховані в цьому параметрі будуть просто підмішані в результат і схильні до наступниx правилаx вибірки (фільтрація, сортування).

    Можливі значення - значення id документів, розділені комою.

    ignoreEmpty

    Дозволяє зробити вибірку всіх записів з таблиці, якщо параметр documents не заданий. Параметр idType в цьому випадку повинен бути documents.

    Можливі значення - 1 або 0.

    За замовчуванням - 0.

    display

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

    Можливі значення - ціле число, яке більше або дорівнює нулю.

    Може бути перевизначити значенням параметра queryLimit.

    Значення за замовчуванням - 0.

    queryLimit

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

    Можливі значення - ціле число, яке більше або дорівнює нулю.

    Значення за замовчуванням - 0.

    depth

    Глибина вибірки з використанням параметра parents.

    Можливі значення - ціле число, яке більше або дорівнює нулю.

    Значення за замовчуванням - 0.

    offset

    Число документів, що пропускаються з початку списку перевизначаються при використанні пагінації Якщо ж потрібно завжди пропускати документи, то необхідно використовувати параметр 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

    Правила для фільтрації документів.

    Можливі значення - рядок сформований за правилами описаним в DocLister::getFilters(). Детальніше в розділі Фільтри.

    Значення за замовчуванням - порожньо.

    Приклад рядка

    OR(AND(filter:field:operator:value;filter2:field:operator:value);(...))

    filter_delimiter

    Роздільник фільтрів для режиму containsOne.

    Можливі значення - будь-який рядок.

    Вибірка за тегами

    tagsData

    Рядок визначає джерело тегів.

    Можливі значення - Рядок з правилами поділу двокрапкою.

    Значення за замовчуванням - порожньо.

    Для автоматичної підстановки тегів з GET змінної необхідно вказати ім'я цієї змінної, передавши в цьому параметрі значення типу get:tag. В такому випадку, теги повинні підставлятися в $_GET['tag']. У разі ж, якщо потрібна статична вибірка, то можна get замінити на static і після двокрапки передати значення тега, наприклад, static:значення_тега

    Додаткові дані

    urlScheme

    Схема генерації URL

    Можливі значення - схеми доступні в MODX Evolution (відносні, http, https, full).

    Значення за замовчуванням - порожньо (відносні)

    dateSource

    Поле документа в якому розташовується дата.

    Можливі значення - назва поля в таблиці. Якщо в якості значення був вказаний рядок відмінний від createdon і значення даного поля в базі рівно 0, то тоді все одно береться значення з createdon. Для прикладу: якщо ви використовуєте відкладену публікацію для деяких документів і вказуєте сортування по полю pub_date. Так ось, з DocLister у вас ніколи не вийде ситуації, що документи опубліковані без відкладеної публікації та завжди будуть в кінці списку.

    Значення за замовчуванням - pub_date.

    dateFormat

    Правила форматування дати format для PHP функції strftime.

    Як джерело дати використовується параметр dateSource. Крім цього враховується зсув дати на сервері (дивіться системний параметр server_offset_time). Таким чином, можна використовувати персоналізацію підстановки часу в залежності від часового поясу користувача.

    Значення за замовчуванням - %d.%b.%y %H:%M

    summary

    Правила обробки текстів для формування короткого опису.

    Завантажує екстендер summary. У контролері site_content є додаткове правило для оброблюваного тексту: за замовчуванням на обробку відправляється поле content. Але якщо поле introtext не порожнє, то текст саме з цього поля буде переданий на додаток summary. Аналогічним чином собі веде і контролер onetable.

    Можливі значення - рядок сформований за правилами екстендера summary:

    дія1:параметр1,дія2:параметр2А:параметр2Б,дія3

    Значення за замовчуванням - порожньо.

    introField

    Ім'я поля для джерела короткого опису тексту з contentField. Використовується тільки якщо завантажений екстендер summary.

    Значення за замовчуванням - порожньо.

    contentField

    Ім'я поля в якому зберігається основний текст документа. Використовується тільки якщо завантажений екстендер summary

    Значення за замовчуванням - порожньо.

    e

    Екранування значень полів. Імена полів доступні в шаблонах через плейсхолдери з префіксом e: [+e.pagetitle+], [+e.longtitle+].

    Можливі значення - імена полів через кому.

    jotcount

    Додає до вибірки кількість коментарів JotX за допомогою екстендера jotcount.

    Можливі значення - 1 або 0

    Значення за замовчуванням - 0