Дата публикации
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