Drupal 8图像字段值

时间:2016-12-28 15:30:12

标签: drupal drupal-8 drupal-entities

我正在试图弄清楚如何从Drupal 8中的实体获取图像的路径。我原以为get() - >值会这样做,但这只会返回一个空字符串。

我有一个测试功能:

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'));

第一个调用正确显示消息区域中的第一个名称,但第二个调用只显示一个空白字符串。我需要一个图像路径,以便我可以对其内容进行一些处理。

1 个答案:

答案 0 :(得分:2)

您可以使用以下方法获取uri或url:

class Taco extends React.Component {
  render() {
    const { query } = this.props.location

    return <div>A {query.yourchoice} taco</div>
  }
}

这是因为value()方法应返回字段的值(也称为fid),在这种情况下,该字段是实体引用。