Как отобразить изображение текущего пользователя в модели TWIG? - PullRequest
0 голосов
/ 09 апреля 2019

Я делаю шаблон TWIG для домашней страницы моего сайта в Drupal 8.

page--front.html.twig

Я хочу отобразить на этой странице картинку текущего пользователя.

Как отобразить изображение текущего пользователя в модели TWIG?

1 Ответ

0 голосов
/ 09 апреля 2019

Вы можете использовать этот код для получения изображения пользователя:

$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());

    if (!$user->user_picture->isEmpty()) {
      $displayImg = file_create_url($user->user_picture->entity->getFileUri());
    }else{
      $displayImg = '';    
    } 

Затем передайте его как переменную ветке, проверьте, пусто она или нет, и в зависимости от того, что напечатано внутри некоторого тега img.

https://www.drupal.org/forum/support/post-installation/2018-09-28/drupal-8-how-can-i-get-the-profile-picture-of-a-user

Обновление:

Чтобы получить URL-адрес стиля изображения, вы можете сделать что-то вроде:

$style = \Drupal::entityTypeManager()->getStorage('image_style')->load('thumbnail');
$url = $style->buildUrl($displayImg);

На основе: https://www.webomelette.com/how-render-your-images-image-styles-drupal-8

И вам следует назначить переменную ветки из контроллера домашней страницы.

...