pdoUsers
pdoUsers — сниппет для вывода пользователей сайта через pdoTools.
Дата публикации
27 Августа 2019
Дата изменения
5 Июля 2020
Уникальных просмотров
2.331
Оглавление
pdoUsers — сниппет для вывода пользователей сайта через pdoTools. Формирует список пользователей сайта с учетом групп и ролей.
Параметры
Использует все общие параметры pdoTools за исключением специфичных для класса modResource
, а так же свои собственные:
Название | По умолчанию | Описание |
&groups | Список групп пользователей, через запятую. Можно использовать имена и id. Если значение начинается с минуса (-), значит пользователь не должен присутствовать в этой группе. | |
&roles | Список ролей пользователей, через запятую. Можно использовать имена и id. Если значение начинается с минуса (-), значит такой роли у пользователя быть не должно. | |
&users | Список пользователей для вывода, через запятую. Можно использовать поля username и id. Если значение начинается с минуса (-), этот пользователь исключается из выборки. | |
&showInactive | 0 | Выводить в том числе и неактивных пользователей. |
&showBlocked | 0 | Выводить в том числе и блокированных пользователей. |
&returnIds | Установите значение «1», чтобы вернуть строку со списком id пользователей, вместо оформленных результатов. Все указанные шаблоны игнорируются. | |
&showLog | 0 | Показывать дополнительную информацию о работе сниппета. Только для авторизованных в контексте «mgr». |
&toPlaceholder | Если не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран. | |
&wrapIfEmpty |
Включает вывод чанка-обертки &tplWrapper, даже если результатов нет. | |
&tplWrapper | Чанк-обёртка, для заворачивания всех результатов. Понимает один плейсхолдер: [[+output]] . Не работает вместе с параметром &toSeparatePlaceholders. |
Переопределенные параметры pdoTools
Название | По умолчанию | Описание |
&class | modUser | Класс пользователя |
&sortby | modUser.id | Любое поле пользователя для сортировки. Можно указывать JSON строку с массивом нескольких полей. Для случайно сортировки укажите RAND() . |
&sortdir | ASC | Направление сортировки: по убыванию DESC или возрастанию ASC . |
Все шаблоны по умолчанию пусты. Для вывода результата в виде HTML, нужно указать, как минимум, значение шаблона & tpl.
Примеры
При запуске без параметров, сниппет выводит всех пользователей сайта.
/* modParser */
[[!pdoUsers]]
/* pdoParser */
{$_modx->runSnippet('!pdoUsers')}
Вывод пользователей группы Authors:
/* modParser */
[[!pdoUsers?
&groups=`Authors`
&tpl=`tpl.Authors.author`
&sortdir=`asc`
]]
/* pdoParser */
{$_modx->runSnippet('!pdoUsers', [
'groups' => 'Authors',
'tpl' => 'tpl.Authors.author',
'sortdir' => 'asc',
])}
Можно комбинировать его с pdoPage\getPage:
/* modParser */
[[!pdoPage?
&element=`pdoUsers`
&groups=`Authors`
&tpl=`tpl.Authors.author`
&sortdir=`asc`
]]
/* pdoParser */
{$_modx->runSnippet('!pdoPage', [
'element' => 'pdoUsers',
'groups' => 'Authors',
'tpl' => 'tpl.Authors.author',
'sortdir' => 'asc',
])}
Встроенные чанки:
/* modParser */
[[!pdoUsers?
&roles=`Member`
&tpl=`@INLINE <p>Имя - [[+fullname]], ID - [[+id]]</p>`
&sortby=`id`
&sortdir=`asc`
]]
/* pdoParser */
{$_modx->runSnippet('!pdoUsers', [
'roles' => 'Member',
'tpl' => '@INLINE <p>Имя - {$fullname}, ID - {$id}</p>',
'sortby' => 'id',
'sortdir' => 'asc',
])}
Время работы: 0,1087 s
Время запросов: 0,1087 s
Количество запросов: 24
Источник: cache
Время запросов: 0,1087 s
Количество запросов: 24
Источник: cache