public UserListBuilder::buildRow(EntityInterface $entity)
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 130
Class
- UserListBuilder
- Defines a class to build a listing of user entities.
Namespace
Drupal\user
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | public function buildRow(EntityInterface $entity ) { $row [ 'username' ][ 'data' ] = array ( '#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 = array (); foreach ( $entity ->getRoles() as $role ) { if (isset( $roles [ $role ])) { $users_roles [] = $roles [ $role ]; } } asort( $users_roles ); $row [ 'roles' ][ 'data' ] = array ( '#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 ); } |
Please login to continue.