Drupal 8 图像字段值
Drupal 8 Image Field value
我正在尝试找出如何从 Drupal 8 中的实体获取图像的路径。我原以为 get()->value 可以做到这一点,但只是 returns 一片空白字符串.
我有一个测试功能:
function getValueTest ($profile_id, $field)
{
$profile_storage = \Drupal::entityManager()->getStorage('profile');
$profile = $profile_storage->load($profile_id);
if ($profile != null)
{
if ($profile->hasField ($field))
{
return $profile->get ($field)->value;
}
}
return "No field" . $field;
}
假设一些配置文件 ID 为 3,它有两个字段 field_first_name 和 field_mugshot。如果我打电话:
dpm ($this->getValueTest (3, 'field_first_name'));
dpm ($this->getValueTest (3, 'field_mugshot'));
第一次调用在消息区域正确显示了名字,但第二次只给出了一个空白字符串。我需要图像的路径,以便对其内容进行一些处理。
您可以使用以下方法获取 uri 或 url:
$entity->get('field_image')->entity->getFileUri();
$entity->get('field_image')->entity->url();
这是因为 value() 方法应该 return 字段的值(又名 fid),在这种情况下是实体引用的字段。
我正在尝试找出如何从 Drupal 8 中的实体获取图像的路径。我原以为 get()->value 可以做到这一点,但只是 returns 一片空白字符串.
我有一个测试功能:
function getValueTest ($profile_id, $field)
{
$profile_storage = \Drupal::entityManager()->getStorage('profile');
$profile = $profile_storage->load($profile_id);
if ($profile != null)
{
if ($profile->hasField ($field))
{
return $profile->get ($field)->value;
}
}
return "No field" . $field;
}
假设一些配置文件 ID 为 3,它有两个字段 field_first_name 和 field_mugshot。如果我打电话:
dpm ($this->getValueTest (3, 'field_first_name'));
dpm ($this->getValueTest (3, 'field_mugshot'));
第一次调用在消息区域正确显示了名字,但第二次只给出了一个空白字符串。我需要图像的路径,以便对其内容进行一些处理。
您可以使用以下方法获取 uri 或 url:
$entity->get('field_image')->entity->getFileUri();
$entity->get('field_image')->entity->url();
这是因为 value() 方法应该 return 字段的值(又名 fid),在这种情况下是实体引用的字段。