Если вы знаете, как получить объект $node
для узла, содержащего вложение файла, это очень просто:
Загрузка (ядро)
$file = upload_load($node);
echo $file[1]->filepath;
Где 1
- индекс файла. Загрузка может позволить вам загрузить более одного файла, поэтому файл 2 будет иметь индекс 2
и так далее. Если есть только один файл, он всегда будет 1
.
echo $node->field_fieldname[0]['filepath'];
Где field_filename
- это короткое имя, которое вы использовали для поля, а 0
- индекс поля. Поля CCK позволяют иметь несколько значений в одном поле, поэтому 0
будет первым, 1
будет вторым и т. Д. Если у вас есть только одно значение, оно всегда будет 0
.
Примечание: если вы хотите получить визуализированный вывод FileField с использованием его форматеров, вы можете просто использовать $field_fieldname
в своем шаблоне узла или если вы хотите сохранить визуализированный вывод, вы можете Применение:
echo content_format('field_fieldname', $node->field_fieldname[0]);
Upload - это печальный маленький модуль, который был полностью заменен базовой реализацией FileField в Drupal 7. Если у вас есть возможность использовать FileField, вам следует.