Я делаю шаблон TWIG для домашней страницы моего сайта в Drupal 8.
page--front.html.twig
Я хочу отобразить на этой странице картинку текущего пользователя.
Как отобразить изображение текущего пользователя в модели TWIG?
Вы можете использовать этот код для получения изображения пользователя:
$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
И вам следует назначить переменную ветки из контроллера домашней страницы.