Не могу получить URL загруженного файла pdf

Главные вкладки

Аватар пользователя pentepl pentepl 27 ноября 2017 в 1:20

Здравствуйте,

Прошу помочь с проблемой кто сможет. Требуется получить полный URL загруженного файла. Загрузка файла происходит через поле типа Файл (File). Тип файла pdf (хотя я так понимаю это не принципиально). Пытаюсь воспользоваться методом подсмотренным для выводя URL файла изображения:

<?php print file_create_url($row->field_<МАШИННОЕ ИМЯ ПОЛЯ>[0]['rendered']['#item']['uri']);?>

C изображениями, загружаемыми через поле типа "Изображение" все ок. С файлами поля типа "Файл" при использовании данного кода выдает след. ошибку:

Notice: Undefined property: stdClass::$field_<МАШИННОЕ ИМЯ ПОЛЯ> в функции include()

Я не силен в PHP. Решил что данный код по аналогии должен справится. Может параметры в квадратных скобках поправить. Может есть альтернативный метод выдачи URL файлов поля "Файл" - подскажите пожалуйста. Серф в интернете ничего не дал.

Лучший ответ

Аватар пользователя sas@drupal.org sas@drupal.org 27 ноября 2017 в 7:29
1

Для того чтобы посмотреть какие ключи доступны можно воспользоваться например dsm из devel

Комментарии

Аватар пользователя pentepl pentepl 27 ноября 2017 в 12:01

Sas@Drupal.Org огромное спасибо. Сначала нифига не понял где нужно копать. Но потом разобрался. Оказалось нужный параметр для функции file_create_url() находится:

$row->_field_data['nid']['entity']-><МАШИННОЕ ИМЯ ПОЛЯ>['und'][0]['uri']);

Правда долго не мог увидеть ошибку в подсказке: параметр ['und'] выдавался функцией dsm без апострофов. Поэтому вылазила ошибка.

Проблема решена.

Любопытно правда почему нужный параметр для изображения выводится конструкцией field_<МАШИННОЕ ИМЯ ПОЛЯ>, а для файла: _field_data['nid']['entity']-><МАШИННОЕ ИМЯ ПОЛЯ>