По умоланию считается, что в параметрах шаблона передано имя чанка. Но если имя чанка начинается с символа @, то происходит сверка начального слова в имени шаблона с заранее зарезервироваными правилами загрузки шаблонов. Все последующие слова используется в качестве параметра к выбранному правилу.
@FILE Загрузка шаблона из html файла расположенного в папке или подпапках assets/templates/
@CHUNK Обычная загрузка шаблона из чанка
@TPL, @CODE Значение параметра используется в роли inline шаблона
@DOCUMENT, @DOC Шаблон берется из content поля указанного документа
@PLH, @PLACEHOLDER Шаблон загружается из глобального плейсхолдера MODX
@CFG, @CONFIG, @OPTIONS Шаблон берется из глобальных настроек текущей установки MODX Evolution
Стоит заметить, что даже если начальный символ был @ и после обработки всех правил шаблон все равно оказался пустым, то происходит попытка обнаружить чанк по полному имени шаблона
Плейсхолдеры в DocLister:
Экстендер в DocLister - это вспомогательный класс для каких-либо обработок, не имеет ничего общего с экстендерами Ditto.
Если указан контроллер site_content или любой другой его расширяющий, то по умолчанию используется таблица site_content. В случае с контроллером onetable имя таблицы определяется параметром table. Таким образом, получить полный список плейсхолдеров можно открыв таблицу mysql, например, через phpmyadmin и подсмотрев какие в этой таблице имеются поля.
__[+параметр_id.pages+]__ Пагинация
__[+параметр_id.totalPages+]__ Общее число страниц
__[+параметр_id.isstop+]__ 1 если текущая страница — последная
__[+параметр_idisstart+]__ 1 если текущая страница — первая
Экстендер загружается, если при вызове сниппета задан параметр &jotcount.
[+jotcount+] Число комментариев из сниппета JOT
[+tv.имяТВпараметра+] Значение ТВ параметра
По умолчанию ко всем ТВ параметрам добавляется префикс tv, но от него можно избавиться или переопределить параметром tvPrefix.
Экстендер загружается, если при вызове сниппета задан параметр &е=имена полей через запятую
[+e.имяПоля+] Экранированное значение поля.
[+summary+] Аннотация к странице
Экстендер необходимо загрузить вручную, указав его имя в параметре &extender. Также должны быть заданы параметры:
[+user.id.НазваниеКолонки+] ID пользователя
[+user.username.НазваниеКолонки+] Логин пользователя
[+user.fullname.НазваниеКолонки+] Полное имя пользователя
[+user.role.НазваниеКолонки+] ID роли пользователя
[+user.email.НазваниеКолонки+] e-mail
[+user.phone.НазваниеКолонки+] Телефон
[+user.mobilephone.НазваниеКолонки+] Мобильный телефон
[+user.blocked.НазваниеКолонки+] Статус блокировки
[+user.blockeduntil.НазваниеКолонки+] До какого UNIX-времени пользователь будет заблокирован
[+user.blockedafter.НазваниеКолонки+] После какого UNIX-времени пользователь будет заблокирован
[+user.logincount.НазваниеКолонки+] Общее число авторизаций
[+user.lastlogin.НазваниеКолонки+] UNIX-время последней авторизации
[+user.thislogin.НазваниеКолонки+] UNIX-время текущей авторизации
[+user.failedlogincount.НазваниеКолонки+] Число неудачных попыток авторизоваться
[+user.lastlogin.НазваниеКолонки+] UNIX-время последней авторизации
[+user.dob.НазваниеКолонки+] Дата рождения
[+user.gender.НазваниеКолонки+] Пол
[+user.country.НазваниеКолонки+] Страна
[+user.state.НазваниеКолонки+] Регион
[+user.zip.НазваниеКолонки+] Почтовый индекс
[+user.fax.НазваниеКолонки+] Факс
[+user.photo.НазваниеКолонки+] Фотография
[+user.comment.НазваниеКолонки+]
[+title+] Название документа для списков. Если menutitle пуст, то используется pagetitle
[+iteration+], __[+ЗначениеПараметраsysKey.full_iteration+]__ Порядковый номер элемента в списке; порядковый номер в списке с учетом пагинации.
Примечание: для контроллера site_content и для контроллера shopkeeper плейсхолдер [+iteration+] выглядит как указано выше - [+iteration+] без префикса, а для контроллера onetable - как [+ЗначениеПараметраsysKey.iteration+] с префиксом. Префикс ЗначениеПараметраsysKey по умолчанию равен dl, то есть для onetable этот плейсхолдер по умолчанию - [+dl.iteration+].
[+url+] Ссылка на документ
[+date+] дата публикации документа сформированая по правилам указаным в параметре dateFormat (по умолчанию %d.%b.%y %H:%M). Помимо этого учитывается server_offset_time в настройках движка.
[+ЗначениеПараметраsysKey.active+] Флаг определяющий, что обрабатываемый документ совпадает и документ на котором был вызван сниппет это одно и тоже (1 - если правда, 0 если нет)
[+ЗначениеПараметраsysKey.class+] Классы которые могут быть автоматически присвоены документу (first, last, current, odd, even)
[+ЗначениеПараметраsysKey.wrap+] HTML код списка подготовленный для вывода пользователю (используется только для шаблона ownerTPL)
Префикс для системных плейсхолдеров.
Возможные значения - любая строка. На выходе получается плейсхолдер с именем [+sysKey.placeholder+], где sysKey это значение данного параметра
Значение по умолчанию - dl
Префикс для локальных плейсхолдеров.
Возможные значения - любая строка. Если id указано, то на выходе получается [+id.placeholder+]. Где id это и есть переданое значение. В случае если id не задано, то перед именем плейсхолдера точка не ставится.
Значение по умолчанию - пусто.
Шаблон в который оборачивается список результатов. Если подходящих результатов не обнаружено, то по умолчанию результат с шаблоном noneTPL тоже оборачивается в этот шаблон. За подробностями обращайтесь к описанию параметра noneWrapOuter.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию - пусто.
&ownerTPL=`@CODE:
<ul class="pages-list">
[+dl.wrap+]
</ul>
`
Шаблон.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister. Значение параметра может быть изменено из prepare-сниппета c помощью свойства $_DocLister->renderTPL.
Значение по умолчанию - определяется в контроллере.
&tpl=`@CODE:
<li>
<img src="[+tv.image+]" alt="[+e.pagetitle+]">
<a href="[+url+]">[+title+] ([+id+])</a>
</li>
`
Шаблон для оформления документа под номером 1, 2 и т.д., где номер - это номер итерации начиная с 1.
Значение по умолчанию берется из значения параметра tpl.
Примечание: Обратите внимание, Id в названиях шаблонов не должно вводить вас в заблуждение, на самом деле номер - это не Id документа, а его номер по порядку в выводе (номер итерации).
Шаблон для оформления четного/нечетного документа.
Значение по умолчанию берется из значения параметра tpl.
Шаблон для оформления первого документа в списке. Синоним параметра tplId1, но имеет больший приоритет.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister. Если не задано, то совпадает с шаблоном tpl.
Значение по умолчанию - пусто.
Шаблон для оформления последнего документа в списке.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister. Если не задано, то совпадает с шаблоном tpl.
Значение по умолчанию - пусто.
Шаблон для оформления текущего документа в списке документов.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister. Если не задано, то совпадает с шаблоном tpl.
Значение по умолчанию - пусто.
Шаблон с уведомлением о том, что по заданным критериям ничего не обнаружено.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию - пусто.
Оборачивать ли ответ noneTPL в шаблон ownerTPL. Параметр актуален только в том случае, если нет документов для построения списка и задан ownerTPL.
Возможные значения - 1 или 0.
Значение по умолчанию - 1.
Вывод данных с пагинацией. Смотрите плейсхолдеры устанавливаемые экстендером paginate.
Возможные значения:
Значение по умолчанию - pages.
Шаблон для вставки ссылки "первая страница".
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию: пусто.
Шаблон для вставки ссылки "последняя страница".
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию: пусто.
Шаблон для вставки ссылки "следующая страница". Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: <a href="[+link+]">' . $this->DocLister->getMsg('paginate.next', 'Next') . ' ></a>
Плейсхолдеров для подстановки данных из языкового пакета пока нет.
Шаблон для вставки ссылки "предыдущая страница".
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: <a href="[+link+]">< ' . $this->DocLister->getMsg('paginate.prev', 'Prev') . '</a>
Плейсхолдеров для подстановки данных из языкового пакета пока нет.
Шаблон для вставки номера страницы в пагинатор.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: <a href="[+link+]" class="page">[+num+]</a>
Шаблон оформления текущей страницы в пагинаторе
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: <b class="current">[+num+]</b>
Шаблон контейнер для обертки страниц пагинации.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: <div class="[+class+]">[+wrap+]</div>
Число страниц отображаемое в пагинаторе.
Возможные значения - целое число больше ноля.
Значение по умолчанию - 1.
Максимальное число страниц слева и справа относительно текущей страницы.
Возможные значения - целое число больше ноля.
Значение по умолчанию - 4.
Класс для контейнера в который будут вложены страницы пагинации.
Возможные значения - любая строка сформированная по правилам для подстановки в HTML аттрибут тегов class.
Значение по умолчанию - paginate.
Всегда показывать "следующая страница" и "предыдущая страница".
Возможные значения - 1 или 0.
Значение по умолчанию - 0.
Шаблон для вставки ссылки "первая страница", используется совместно с PrevNextAlwaysShow.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию: пусто.
Шаблон для вставки ссылки "последняя страница", используется совместно с PrevNextAlwaysShow.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию: пусто.
Шаблон для вставки неактивной ссылки "следующая страница", используется совместно с PrevNextAlwaysShow.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: [%paginate.next%] >
Шаблон для вставки неактивной ссылки "предыдущая страница", используется совместно с PrevNextAlwaysShow.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: < [%paginate.prev%]
Шаблон прострела.
Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister.
Значение по умолчанию:
@CODE: ...
Запрещает переадресацию при запросе несуществующей страницы.
Возможные значения - 0 или 1.
Значение по умолчанию - 0.
Установка значений документов в персонализованные плейсхолдеры.
Возможные значения - 0, 1. Если значение параметра равно 1, то DocLister создает плейсхолдеры вида [+id.item[x]+]. Где x это порядковый номер документа в списке, а id это значение параметра id (см. описание параметра id).
Значение по умолчанию - 0
Используется для формирования выдачи в формате JSON.
Возможные значения - 0, 1 или список полей выбираемых документов.
Значение по умолчанию - 0.
По какому принципу формировать JSON-ответ.
Возможные значения - old, new. В формате old ответ выглядит в виде обычного массива. В формате new ответ заворачивается в rows секцию + добавляется примесь total в которой указано общее число учавствующих в выборке
Значение по умолчанию - old.