Маленькая заметка по Drupal 8. Как получить изображение установленное по умолчанию:
$user = \Drupal\user\Entity\User::load($chat['uid']); // pass your uid
$name = $user->getUsername();
if( !empty($user->get('user_picture')->entity)) {
$file_uri = $user->get('user_picture')->entity->getFileUri();
$styled_image_url = ImageStyle::load("thumbnail")->buildUrl($file_uri);
} else {
$field = \Drupal\field\Entity\FieldConfig::loadByName('user', 'user', 'user_picture');
$default_image = $field->getSetting('default_image');
$file = \Drupal::entityManager()->loadEntityByUuid('file', $default_image['uuid']);
$file_uri = $file->getFileUri();
$styled_image_url = ImageStyle::load("thumbnail")->buildUrl($file_uri);
//dpm($styled_image_url);
//$styled_image_url = ImageStyle::load("thumbnail")->buildUrl($file_uri);
}
первая часть получение актуального изображения:
if( !empty($user->get('user_picture')->entity)) {
$file_uri = $user->get('user_picture')->entity->getFileUri();
$styled_image_url = ImageStyle::load("thumbnail")->buildUrl($file_uri);
}
вторая часть - получение дефолтного изображения:
else {
$field = \Drupal\field\Entity\FieldConfig::loadByName('user', 'user', 'user_picture');
$default_image = $field->getSetting('default_image');
$file = \Drupal::entityManager()->loadEntityByUuid('file', $default_image['uuid']);
$file_uri = $file->getFileUri();
$styled_image_url = ImageStyle::load("thumbnail")->buildUrl($file_uri);
//dpm($styled_image_url);
//$styled_image_url = ImageStyle::load("thumbnail")->buildUrl($file_uri);
}
Оценка
273 просмотра
Взаимосвязанные материалы
#
1
.
О том как заменить стандартную иконку (Throbber) в Drupal 8
(
),
Для замены стандартной иконки загрузки (Throbber) в Drupal 8 необходимо добавить следующий js код:
читать...
#
2
.
SetHandler none Drupal_Security......
(
),
Долго пришлось искать проблему не отображения файлов для которых созданы стили в Drupal 8. читать...
Долго пришлось искать проблему не отображения файлов для которых созданы стили в Drupal 8. читать...
#
3
.
Temporary file '*****.tmp' could not be created
(
),
Если в последних версиях Drupal 8 появилась ошибка "Temporary file '*****.tmp' could not be created"
необходимо добавить в файл \sites\default\settings.php строку
читать...
#
4
.
Как правильно кэшировать хлебные крошки в Drupal 8
(
),
Несколько раз сталкивался с тем что последний элемент Breadcrumb кэшировался на страницах с типом "node", несмотря на то, что страница менялась. То же самое наблюдалось и с view.
читать...
#
5
.
Drupal 8. Несколько способов вывода информации черех Ajax
(
),
О том, как осуществить вывод информации с использованием ajax в Drupal 8. В Drupal 8 имеется несколько методов вывода информации через ajax - c применением методов Api и с использованием стандартных функций jQuery. При этом jQuery в Drupal 8 установлена по умолчанию. читать...
О том, как осуществить вывод информации с использованием ajax в Drupal 8. В Drupal 8 имеется несколько методов вывода информации через ajax - c применением методов Api и с использованием стандартных функций jQuery. При этом jQuery в Drupal 8 установлена по умолчанию. читать...