2016-12-28 6 views
0

Я пытаюсь понять, как получить путь к изображению из объекта в Drupal 8. Я думал, что значение get() -> будет делать это, но это просто возвращает пустую строку ,Drupal 8 Image Значение поля

У меня есть тест функции:

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; 
} 

Предположим, некоторый идентификатор профиля 3, который имеет два поля field_first_name и field_mugshot. Если я позвоню:

dpm ($this->getValueTest (3, 'field_first_name')); 
dpm ($this->getValueTest (3, 'field_mugshot')); 

Первый вызов правильно отображает имя в области сообщения, но второй раз дает пустую строку. Мне нужен путь к изображению, поэтому я могу обработать его содержимое.

ответ

1

Вы можете использовать методы folowing, чтобы получить УИДР или URL:

$entity->get('field_image')->entity->getFileUri(); 
$entity->get('field_image')->entity->url(); 

Это потому, что метод значения() должен возвращать значение поля (ака FID), поле, которое является юридическим лицом ссылка в этом случае.

+0

Это дает мне именно то, что мне нужно. Благодарю. – PhotoKevin

 Смежные вопросы

  • Нет связанных вопросов^_^