account = $account; } /** * Lazy builder callback for rendering toolbar links. * * @return array * A renderable array as expected by the renderer service. */ public function renderToolbarLinks() { $links = [ 'account' => [ 'title' => $this->t('View profile'), 'url' => Url::fromRoute('user.page'), 'attributes' => [ 'title' => $this->t('User account'), ], ], 'account_edit' => [ 'title' => $this->t('Edit profile'), 'url' => Url::fromRoute('entity.user.edit_form', ['user' => $this->account->id()]), 'attributes' => [ 'title' => $this->t('Edit user account'), ], ], 'logout' => [ 'title' => $this->t('Log out'), 'url' => Url::fromRoute('user.logout'), ], ]; $build = [ '#theme' => 'links__toolbar_user', '#links' => $links, '#attributes' => [ 'class' => ['toolbar-menu'], ], '#cache' => [ 'contexts' => ['user'], ], ]; return $build; } /** * Lazy builder callback for rendering the username. * * @return array * A renderable array as expected by the renderer service. */ public function renderDisplayName() { return [ '#markup' => $this->account->getDisplayName(), ]; } }