Drupal 8,“托管文件”字段的默认值

use*_*454 2 drupal-forms drupal-8

我通过自定义模块创建了一个编辑自定义表单(节点的)。在这个表单中,我有一个“管理文件”字段(对于一张图片),我将他的默认值设置为 fid;但是,当我的表单呈现时,“托管文件”字段不显示图像。我不明白为什么:/

我的代码:

$form['project']['image'] = array(
  '#type' => 'managed_file',
  '#title' => t('Image'),
  '#default_value' => 10, //Set 10 for the test, the fid "10" exist, I checked
);
Run Code Online (Sandbox Code Playgroud)

我的表格呈现:

[在此处输入图片说明]

如您所见,没有加载图像,而 default_value 设置为现有的 fid (10)

1

小智 5

要渲染现有图像,请使用以下代码

$form['project']['image'] = array( 
  '#type' => 'managed_file', 
  '#title' => t('Image'), 
  '#default_value' => array(10), 
);
Run Code Online (Sandbox Code Playgroud)

您需要以数组格式提供 fid。