craft.users
If you have Craft Pro, you can access your site’s users from your templates via craft.users
. It returns an ElementCriteriaModel object.
{% for author in craft.users.group('authors') %}
<li><a href="{{ url('authors/'~author.id) }}">{{ author.name }}</a></li>
{% endfor %}
# Parameters
craft.users
supports the following parameters:
# admin
Only fetch admin users. Possible values include '1'
and 'not 1'
.
{# Fetch all the admins #}
{% set admins = craft.users.admin('1') %}
{# Fetch all the non-admins #}
{% set nonAdmins = craft.users.admin('not 1') %}
# can
Only fetch users that have a given permission.
{% set authors = craft.users.can('createEntries:5') %}
You can see a list of the permissions Craft comes with here.
# email
Only fetch users with the given email.
# firstName
Only fetch users with the given first name.
# fixedOrder
If set to true
, users will be returned in the same order as the IDs entered in the id param.
# group
Only fetch users that belong to a given user group(s), referenced by its handle.
# groupId
Only fetch users that belong to a given user group(s), referenced by its ID.
# id
Only fetch the user with the given ID.
# indexBy
Indexes the results by a given property. Possible values include 'id'
and 'username'
.
# lastLoginDate
Fetch users based on their last login date.
# lastName
Only fetch users with the given last name.
# limit
Limits the results to X users. The default value is 100
. null
will return all users.
# offset
Skips the first X users. For example, if you set offset(1)
, the would-be second user returned becomes the first.
# order
The order the users should be returned in. Possible values include 'username'
, 'firstName'
, 'lastName'
, 'email'
, 'preferredLocale'
, 'status'
, 'lastLoginDate'
, 'dateCreated'
, and 'dateUpdated'
, as well as any textual custom field handles. If you want the users to be sorted in descending order, add “desc
” after the property name (ex: 'lastLoginDate desc'
). The default value is 'username'
.
# relatedTo
Only fetch users that are related to certain other elements. (See relations for the syntax options.)
# search
Only fetch users that match a given search query. (See searching for the syntax and available search attributes.)
# status
Only fetch users with the given status. Possible values are 'active'
, 'locked'
, 'suspended'
, 'pending'
, 'archived'
, and null
. The default value is 'active'
. null
will return all users regardless of status.
# username
Only fetch the user with the given username.