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