Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
  • Дополнения
    • DocLister
      • Параметры выборки
      • Обработка данных перед выводом
      • Вывод данных
      • Фильтры
      • Лексиконы
      • Примеры
      • Отладка
      • Разработчикам
      • MODxAPI
    • DLMenu
    • DLCrumbs
    • DLBuildMenu
    • DLLastViews
    • DLSiblings
    • DLRequest
    • DLglossary
    • DLSitemap
    • DocInfo
    • FormLister
    • Wayfinder
    • phpthumb
    • LikeDislike
    • eForm
    • Ditto
    • multiTV
    • AjaxMegaSearch
    • AjaxSearch
    • WebLoginPE
    • Breadcrumbs
    • CodeMirror
    • AnythingRating
    • Easy Newsletter
    • FirstChildRedirect
    • OpenGraphTags
    • ddTypograph
    • TagSaver
    • BlackList
    • CfgTv
    • ModxAccount
    • Forgot Manager Login
    • GetField
    • if
    • Jot
    • ListChild
    • ListIndexer
    • ManagerManager
    • ddMMEditor
    • MaxiGallery
    • MemberCheck
    • ddGetMultipleField
    • MetaX
    • MODxBB и phpBB
    • Yams
    • Personalize
    • PHx
    • Reflect
    • tagLinks
    • TransAlias
    • TvTagCloud
    • UltimateParent
    • WebSignup
    • WebLogin
    • countViews
    • thumb
    • imageCaptor
    • optimizeJPG
    • Preview Next
    • Shopkeeper
    • SiteMap
    • Sass
    • Selector
    • SimpleGallery
    • SimpleTube
    • SimpleFiles
    • Star Rating
    • MinifyX
    • adminNav
    • SimplePolls
    • CResource
    • MODxAPI
    • customTables
    • HtmlInLine
    • HtmlMinModxEvo
    • SHKUserProfile
    • PickDocsInTree
    • evoSearch
    • editDocs
    • PageBuilder
    • HybridAuth
    • Compare
    • alterTitle
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • DocLister

DocLister: Вывод данных

  • Дополнения
  • DocLister
  • Вывод данных
13046

DocLister: Вывод данных

Задание шаблонов

По умоланию считается, что в параметрах шаблона передано имя чанка. Но если имя чанка начинается с символа @, то происходит сверка начального слова в имени шаблона с заранее зарезервироваными правилами загрузки шаблонов. Все последующие слова используется в качестве параметра к выбранному правилу.

@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

[+параметр_id.pages+] Пагинация

[+параметр_id.totalPages+] Общее число страниц

[+параметр_id.isstop+] 1 если текущая страница – последная

[+параметр_idisstart+] 1 если текущая страница – первая

Плейсхолдеры устанавливаемые экстендером jotcount

Экстендер загружается, если при вызове сниппета задан параметр &jotcount.

[+jotcount+] Число комментариев из сниппета JOT

Плейсхолдеры устанавливаемые экстендером tv

[+tv.имяТВпараметра+] Значение ТВ параметра

По умолчанию ко всем ТВ параметрам добавляется префикс tv, но от него можно избавиться или переопределить параметром tvPrefix.

Плейсхолдеры устанавливаемые экстендером e

Экстендер загружается, если при вызове сниппета задан параметр &е=имена полей через запятую

[+e.имяПоля+] Экранированное значение поля.

Плейсхолдеры устанавливаемые экстендером summary

[+summary+] Аннотация к странице

Плейсхолдеры устанавливаемые экстендером user

Экстендер необходимо загрузить вручную, указав его имя в параметре &extender. Также должны быть заданы параметры:

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

[+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.НазваниеКолонки+]

Плейсхолдеры устанавливаемые в контроллерах site_content

[+title+] Название документа для списков. Если menutitle пуст, то используется pagetitle

[+iteration+], [+full_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

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

Возможные значения - любая строка. На выходе получается плейсхолдер с именем [+sysKey.placeholder+], где sysKey это значение данного параметра

Значение по умолчанию - dl

&id

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

Возможные значения - любая строка. Если id указано, то на выходе получается [+id.placeholder+]. Где id это и есть переданое значение. В случае если id не задано, то перед именем плейсхолдера точка не ставится.

Значение по умолчанию - пусто.

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

&ownerTPL

Шаблон в который оборачивается список результатов. Если подходящих результатов не обнаружено, то по умолчанию результат с шаблоном noneTPL тоже оборачивается в этот шаблон. За подробностями обращайтесь к описанию параметра noneWrapOuter.

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

Значение по умолчанию - пусто.

Пример:

&ownerTPL=`@CODE:
<ul class="pages-list">
	[+dl.wrap+]
</ul>`

&tpl

Шаблон.

Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister. Значение параметра может быть изменено из prepare-сниппета c помощью свойства $_DocLister->renderTPL.

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

Пример:

&tpl=`@CODE:
<li>
	<img src="[+tv.image+]" alt="[+e.pagetitle+]">
	<a href="[+url+]">[+title+] ([+id+])</a>
</li>`

&tplId0, &tplId1, &tplId2, ..., &tplIdN

Шаблон для оформления блока с документами под номером 1, 2 и т.д...

Значение по умолчанию берется из значения параметра tpl.

&tplOdd, &tplEven

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

Значение по умолчанию берется из значения параметра tpl.

&tplFirst

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

Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister. Если не задано, то совпадает с шаблоном tpl.

Значение по умолчанию - пусто.

&tplLast

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

Возможные значения - имя шаблона указанное по правилам задания шаблонов в DocLister. Если не задано, то совпадает с шаблоном tpl.

Значение по умолчанию - пусто.

&tplCurrent

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

Возможные значения - имя шаблона указанное по правилам задания шаблонов в 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="[+link+]">' . $this->DocLister->getMsg('paginate.next', 'Next') . ' ></a>

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

&TplPrevP

Шаблон для вставки ссылки "предыдущая страница".

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

Значение по умолчанию:

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

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

&TplPage

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

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

Значение по умолчанию:

@CODE: <a href="[+link+]" class="page">[+num+]</a>

&TplCurrentPage

Шаблон оформления текущей страницы в пагинаторе

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

Значение по умолчанию:

@CODE: <b class="current">[+num+]</b>

&TplWrapPaginate

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

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

Значение по умолчанию:

@CODE: <div class="[+class+]">[+wrap+]</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.

Вывод в плейсхолдеры

&contentPlaceholder

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

Возможные значения - 0, 1. Если значение параметра равно 1, то DocLister создает плейсхолдеры вида [+id.item[x]+]. Где x это порядковый номер документа в списке, а id это значение параметра id (см. описание параметра id).

Значение по умолчанию - 0

API-режим

&api

Используется для формирования выдачи в формате JSON.

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

Значение по умолчанию - 0.

&JSONformat

По какому принципу формировать JSON-ответ.

Возможные значения - old, new. В формате old ответ выглядит в виде обычного массива. В формате new ответ заворачивается в rows секцию + добавляется примесь total в которой указано общее число учавствующих в выборке

Значение по умолчанию - old.