Маленькая заметка по Drupal, как получить изображение установленное по умолчанию

Опубликовано admin - пт, 11/15/2019 - 10:54

Маленькая заметка по 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);
}

 

Взаимосвязанные материалы

# 1. Как правильно кэшировать хлебные крошки в Drupal 8 (среда, января 29, 2020 - 14:12 ),

Несколько раз сталкивался с тем что последний элемент Breadcrumb кэшировался на страницах с типом "node", несмотря на то, что страница менялась. То же самое наблюдалось и с view. читать...

# 2. Drupal 8. Несколько способов вывода информации черех Ajax (понедельник, января 27, 2020 - 23:23 ),
О том, как осуществить вывод информации с использованием ajax в Drupal 8. В Drupal 8 имеется несколько методов вывода информации через ajax - c применением методов Api и с использованием стандартных функций jQuery. При этом jQuery в Drupal 8 установлена по умолчанию. читать...
# 3. Маленькая заметка по Drupal, как получить изображение установленное по умолчанию (пятница, ноября 15, 2019 - 10:54 ),

Маленькая заметка по Drupal 8. Как получить изображение установленное по умолчанию:

читать...
# 4. Drupal 8. Шаг за шагом как создать модуль с отображением в admin панели (суббота, сентября 28, 2019 - 22:12 ),
Часто требуется не только создать модуль с функциональностью на страницах сайта, но и предоставить возможность конфигурировать настройки модуля в администраторском разделе. читать...
# 5. 15 лучших модулей в Drupal 8 (среда, сентября 25, 2019 - 16:11 ),

Drupal 8 одна из популярнейших CMS в области создания сайтов. При этом для неё доступно огромное количество модулей, упрощающих жизнь как простому разработку, так и обычному пользователю.

читать...
На разработку сайта! Скидки до 20%!