Вивід даних

    Завдання шаблонів

    За замовчуванням вважається, що в параметрах шаблону передано ім'я чанка. Але якщо ім'я чанка починається з символу @, то відбувається перевірка початкового слова в імені шаблону із заздалегідь зарезервованими правилами завантаження шаблонів. Усі наступні слова використовується в якості параметра до вибраного правилом.

    @FILE Завантаження шаблону з html файлу розташованого в папці або підпапках assets/templates/

    @CHUNK Звичайне завантаження шаблону з чанка

    @TPL, @CODE Значення параметра використовується в ролі inline шаблону

    @DOCUMENT, @DOC Шаблон береться з content поля зазначеного документа

    @PLH, @PLACEHOLDER Шаблон завантажується з глобального плейсхолдера MODX

    @CFG, @CONFIG, @OPTIONS Шаблон береться з загальних параметрів поточної установки MODX Evolution

    Варто зауважити, що навіть якщо початковий символ був @ і після обробки всіх правил шаблон все одно виявився порожнім, то відбувається спроба виявити чанк по повному імені шаблону

    Плейсхолдери

    Плейсхолдери в DocLister:

    • плейсхолдер таблиці, ім'я такого плейсхолдера збігається з назвою колонки в таблиці;
    • віртуальний плейсхолдер, який став доступний після запуску екстендера або якихось обчислень всередині контролера;
    • глобальний плейсхолдер, який доступний з поза шаблонів переданих в сніпет (як правило має префікс dl і може бути перевизначений за допомогою параметрів sysKey або id).

    Екстендер в DocLister - це допоміжний клас для будь-яких обробок, який не має нічого спільного з екстендерами Ditto.

    Плейсхолдери таблиці

    Якщо вказано контролер site_content або будь-який інший його розширює, то за замовчуванням використовується таблиця site_content. У випадку з контролером onetable ім'я таблиці визначається параметром table. Таким чином, отримати повний список плейсхолдерів можна відкривши таблицю mysql, наприклад, через phpmyadmin і підглянувши які в цій таблиці є поля.

    Віртуальний плейсхолдер

    Плейсхолдери встановлюються екстендером paginate

    ____ Пагінація

    ____ Загальна кількість сторінок

    ____ 1 якщо поточна сторінка - остання

    ____ 1 якщо поточна сторінка - перша

    __ Номер документа на сторінці від (Приклад: товарів 1__-8 з 16)

    __ Номер документа на сторінці до (Приклад: товарів 1-8__ з 16)

    __ Загальна кількість документів (Приклад: товарів 1-8 з 16__)

    Плейсхолдери встановлюються екстендером jotcount

    Екстендер завантажується, якщо при виклику сніпета заданий параметр &jotcount.

    Число коментарів з сніпета JOT

    Плейсхолдери встановлюються екстендером tv

    Значення ТВ параметра

    За замовчуванням до всіх ТБ параметрів додається префікс tv, але від нього можна позбутися або перевизначити параметром tvPrefix.

    Плейсхолдери встановлюються екстендером e

    Екстендер завантажується, якщо при виклику сніпета заданий параметр &е=імена полів через кому

    Екрановане значення поля.

    Плейсхолдери встановлюються екстендером summary

    Анотація на сторінку

    Плейсхолдери встановлюються екстендером user

    Екстендер необхідно завантажити вручну, вказавши його ім'я в параметрі & extender. Також повинні бути задані параметри:

    • usertype - можливі значення: manager, mgr, web. ОВизначає з яких таблиць брати дані користувачів;
    • userFields - назви колонок через кому, в яких вказано id користувача, наприклад createdby, publishedby.

    ID користувача

    Логін користувача

    Повне ім'я користувача

    ID ролі користувача

    e-mail

    Телефон

    Мобільний телефон

    Статус блокування

    До якого UNIX-часу користувач буде заблокований

    Після якого UNIX-часу користувач буде заблокований

    Загальна кількість авторизаций

    UNIX-час останньої авторизації

    UNIX-час поточної авторизації

    Число невдалих спроб авторизуватися

    UNIX-час останньої авторизації

    Дата народження

    Стать

    Країна

    Регіон

    Поштовий індекс

    Факс

    Світлина

    Плейсхолдери встановлюються в контролерах site_content

    Назва документа для списків. Якщо menutitle порожній, то використовується pagetitle

    , ____ Порядковий номер елемента в списку; порядковий номер у списку з урахуванням пагінації.

    Примітка: для контролера site_content і для контролера shopkeeper плейсхолдер виглядає як зазначено вище - без префікса, а для контролера onetable - як з префіксом. Значення префіксу ПараметраsysKey за замовчуванням дорівнює dl, тобто для onetable цей плейсхолдер за замовчуванням - .

    Посилання на документ

    дата публікації документа сформована за правилами вказаними в параметрі dateFormat (за замовчуванням %d.%b.%y%H:%M). Крім цього враховується server_offset_time в настройках двіжка.

    Прапор визначає, що документ який обробляється, збігається, і документ на якому був викликаний сніпет це одне і теж (1 - якщо правда, 0 якщо немає)

    Класи які можуть бути автоматично привласнені документу (first, last, current, odd, even)

    HTML код списку підготовлений для виведення користувачеві (використовується тільки для шаблону ownerTPL)

    Параметри для установки плейсхолдерів

    sysKey

    Префікс для системних плейсхолдеров.

    Можливі значення - будь-який рядок. На виході виходить плейсхолдер з ім'ям , де sysKey це значення даного параметра

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

    id

    Префікс для локальних плейсхолдерів.

    Можливі значення - будь-який рядок. Якщо id зазначено, то на виході виходить . Де id це і є передання значення. У разі якщо id не задано, то перед ім'ям плейсхолдера крапка не ставиться.

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

    Параметри виведення в шаблони

    ownerTPL

    Шаблон в який обертається список результатів. Якщо потрібних результатів не виявлено, то за замовчуванням результат з шаблоном noneTPL теж обертається в цей шаблон. За подробицями звертайтеся до опису параметра noneWrapOuter.

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

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

    Приклад:

    &ownerTPL=`@CODE:
    <ul class="pages-list">
        
    </ul>
    `

    tpl

    Шаблон.

    Можливі значення - ім'я шаблону вказане за правилами завдання шаблонів в DocLister. Значення параметра може бути змінено з prepare-сніпета c допомогою властивості $_DocLister->renderTPL.

    Значення за замовчуванням - визначається в контролері.

    Приклад:

    &tpl=`@CODE:
    <li>
        <img src="" alt="">
        <a href=""> ()</a>
    </li>
    `

    tplId1, tplId2, ..., tplIdN

    Шаблон для оформлення документа під номером 1, 2 і т.д., де номер - це номер ітерації починаючи з 1.

    Значення за замовчуванням береться з значення параметра tpl.

    Примітка: Зверніть увагу, Id в назвах шаблонів не повинно вводити вас в оману, насправді номер - це не Id документа, а його номер по порядку в виведенні (номер ітерації).

    tplOdd, tplEven

    Шаблон для оформлення парного / непарного документа.

    Значення за замовчуванням береться з значення параметра tpl.

    tplFirst

    Шаблон для оформлення першого документа в списку. Синонім параметра tplId1, але має більший пріоритет.

    Можливі значення - ім'я шаблону вказане за правилами завдання шаблонів в DocLister. Якщо не задано, то збігається з шаблоном tpl.

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

    tplLast

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

    Можливі значення - ім'я шаблону вказане за правилами завдання шаблонів в DocLister. Якщо не задано, то збігається з шаблоном tpl.

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

    tplСurrent

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

    Можливі значення - ім'я шаблону вказане за правилами завдання шаблонів в DocLister. Якщо не задано, то збігається з шаблоном tpl.

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

    noneTPL

    Шаблон з повідомленням про те, що за заданими критеріями нічого не виявлено.

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

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

    noneWrapOuter

    Чи повертати відповідь noneTPL в шаблон ownerTPL. Параметр актуальний тільки в тому випадку, якщо немає документів для створення списків і заданий ownerTPL.

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

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

    Пагінація

    paginate

    Висновок даних з пагінацією. Дивіться плейсхолдери, які встановлюються екстендером paginate.

    Можливі значення:

    • offset - пагінація в стилі Ditto;
    • pages - пагінація з прострілами.

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

    TplFirstP

    Шаблон для вставки посилання "перша сторінка".

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

    Значення за замовчуванням: пусто.

    TplLastP

    Шаблон для вставки посилання "остання сторінка".

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

    Значення за замовчуванням: пусто.

    TplNextP

    Шаблон для вставки посилання "наступна сторінка". Можливі значення - ім'я шаблону вказане за правилами завдання шаблонів в DocLister.

    Значення за замовчуванням:

    @CODE: <a href="">' . $this->DocLister->getMsg('paginate.next', 'Next') . ' ></a>

    Плейсхолдерів для підстановки даних з мовного пакета поки немає.

    TplPrevP

    Шаблон для вставки посилання "попередня сторінка".

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

    Значення за замовчуванням:

    @CODE: <a href="">< ' . $this->DocLister->getMsg('paginate.prev', 'Prev') . '</a>

    Плейсхолдерів для підстановки даних з мовного пакета поки немає.

    TplPage

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

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

    Значення за замовчуванням:

    @CODE: <a href="" class="page"></a>

    TplCurrentPage

    Шаблон оформлення поточної сторінки в пагінаторі

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

    Значення за замовчуванням:

    @CODE: <b class="current"></b>

    TplWrapPaginate

    Шаблон контейнера для обгортки сторінок в пагінацію.

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

    Значення за замовчуванням:

    @CODE: <div class=""></div>

    pageLimit

    Число сторінок відображається в пагінаторі.

    Можливі значення - ціле число більше нуля.

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

    pageAdjacents

    Максимальне число сторінок зліва і справа щодо поточної сторінки.

    Можливі значення - ціле число більше нуля.

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

    PaginateClass

    Клас для контейнера в який будуть вкладені сторінки пагінації.

    Можливі значення - будь-який рядок сформований за правилами для підстановки в HTML атрибут тегів class.

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

    PrevNextAlwaysShow

    Завжди показувати "наступна сторінка" та "попередня сторінка".

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

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

    TplFirstI

    Шаблон для вставки посилання "перша сторінка", використовується спільно з PrevNextAlwaysShow.

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

    Значення за замовчуванням: пусто.

    TplLastI

    Шаблон для вставки посилання "остання сторінка", використовується спільно з PrevNextAlwaysShow.

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

    Значення за замовчуванням: пусто.

    TplNextI

    Шаблон для вставки неактивній посилання "наступна сторінка", використовується спільно з PrevNextAlwaysShow.

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

    Значення за замовчуванням:

    @CODE: [%paginate.next%] >

    TplPrevI

    Шаблон для вставки неактивній посилання "попередня сторінка", використовується спільно з PrevNextAlwaysShow.

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

    Значення за замовчуванням:

    @CODE: < [%paginate.prev%]

    TplDotsPage

    Шаблон прострілу.

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

    Значення за замовчуванням:

    @CODE: ...

    noRedirect

    Забороняє переадресацію при запиті неіснуючої сторінки.

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

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

    paginationMeta

    Висновок метатегів prev і next в head сайту.

    <link rel="prev" href="">
    <link rel="next" href="'">

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

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

    Висновок в плейсхолдери

    contentPlaceholder

    Установка значень документів в персоналізацію плейсхолдери.

    Можливі значення - 0, 1. Якщо значення параметра дорівнює 1, то DocLister створює плейсхолдери виду . Де x це порядковий номер документа в списку, а id це значення параметра id (див. Опис параметра id).

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

    paginationMetaPlaceholder

    Можливі значення - 0 або 1. Якщо значення параметра дорівнює 1, то результат виконання параметра paginationMeta потрапляє не в шапку, а в глобальний плейсхолдер .

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

    Роздільник між шаблонами

    outputSeparator

    Установка роздільнику, який буде виводитися між значеннями, виведеними в шаблоні tpl.

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

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

    Приклад

    Використовується в полі "Можливі значення" TV-параметра

    @EVAL $snippet_name = 'DocLister';$arrparams = array('id' => 'brands_select','parents' => '1171','depth' => '0','tvPrefix' => '','tvList' => '','tpl'=>'brands_select_tpl','orderBy'=>'pagetitle ASC', 'total' => 'all', 'noneWrapOuter' => '0', 'dateFormat'=>'%d.%m.%Y','outputSeparator'=>'||');return $modx->runSnippet($snippet_name,$arrparams);

    API-режим

    api

    Використовується для формування видачі в форматі JSON.

    Можливі значення - 0, 1 або список полів обираних документів.

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

    JSONformat

    За яким принципом формувати JSON-відповідь.

    Можливі значення - old, new. У форматі old відповідь виглядає у вигляді звичайного масиву. У форматі new відповідь загортається в rows секцію + додається домішка total в якій зазначено загальна кількість їх використань у вибірці

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