public function UserListBuilder::buildRow in Drupal 8
Same name and namespace in other branches
- 9 core/modules/user/src/UserListBuilder.php \Drupal\user\UserListBuilder::buildRow()
- 10 core/modules/user/src/UserListBuilder.php \Drupal\user\UserListBuilder::buildRow()
Builds a row for an entity in the entity listing.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity for this row of the list.
Return value
array A render array structure of fields for this entity.
Overrides EntityListBuilder::buildRow
See also
\Drupal\Core\Entity\EntityListBuilder::render()
File
- core/
modules/ user/ src/ UserListBuilder.php, line 118
Class
- UserListBuilder
- Defines a class to build a listing of user entities.
Namespace
Drupal\userCode
public function buildRow(EntityInterface $entity) {
$row['username']['data'] = [
'#theme' => 'username',
'#account' => $entity,
];
$row['status'] = $entity
->isActive() ? $this
->t('active') : $this
->t('blocked');
$roles = user_role_names(TRUE);
unset($roles[RoleInterface::AUTHENTICATED_ID]);
$users_roles = [];
foreach ($entity
->getRoles() as $role) {
if (isset($roles[$role])) {
$users_roles[] = $roles[$role];
}
}
asort($users_roles);
$row['roles']['data'] = [
'#theme' => 'item_list',
'#items' => $users_roles,
];
$options = [
'return_as_object' => TRUE,
];
$row['member_for']['data'] = $this->dateFormatter
->formatTimeDiffSince($entity
->getCreatedTime(), $options)
->toRenderable();
$last_access = $this->dateFormatter
->formatTimeDiffSince($entity
->getLastAccessedTime(), $options);
if ($entity
->getLastAccessedTime()) {
$row['access']['data']['#markup'] = $last_access
->getString();
CacheableMetadata::createFromObject($last_access)
->applyTo($row['access']['data']);
}
else {
$row['access']['data']['#markup'] = t('never');
}
return $row + parent::buildRow($entity);
}