gpt4 book ai didi

forms - Drupal 7 managed_file 表单

转载 作者:行者123 更新时间:2023-12-04 04:39:15 26 4
gpt4 key购买 nike

我在 Drupal 自定义模块中有这个 managed_file 表单,用户可以使用这个表单上传图像并将其保存在站点/默认/文件下。

     $form['Background_image'] = array(
'#type' => 'managed_file',
'#title' => t('Image'),
'#progress_message' => t('Please wait...'),
'#progress_indicator' => 'bar',
'#description' => t('Click "Browse..." to select an image to upload.'),
'#required' => TRUE,
///'#upload_validators' => array('file_validate_extensions' => array('jpeg jpg png gif')),
'#upload_location' => 'public://backgroundimage/'
'#default_value' => $this->options['Background image'],
);

如何添加一个函数来获取上传的文件?
我试过这个,但它没有用。
    $image = file_load($form_state['values']['Background_image']);

最佳答案

您应该能够只创建表单元素,然后使用 $form_state['values']数组来获取fid。像这样:

function my_module_form() {
$form = array();
$form['background_image'] = array(
'#type' => 'managed_file',
'#title' => t('Image'),
'#progress_message' => t('Please wait...'),
'#progress_indicator' => 'bar',
'#description' => t('Click "Browse..." to select an image to upload.'),
'#required' => TRUE,
'#upload_location' => 'public://backgroundimage/',
'#default_value' => $this->options['background image'] //fid
);
return $form;
}

function my_module_form_submit($form, &$form_state) {
$file = file_load($form_state['values']['background_image']);
$file->status = FILE_STATUS_PERMANENT;
file_usage_add($file, 'module_name', 'entity_name', $entity_id);
file_save($file);
}

我只是即时写的,所以我确定有语法错误:) 但这就是想法。如果您没有从 $form_state['values']['background_image'] 获取文件 ID ,我会尝试在您的提交处理程序中死去并转储 $form_state['values'] 的内容:
function my_module_form_submit($form, &$form_state) {
die(var_dump($form_state['values']['background_image']));
}

这应该会告诉您一些有关从表单返回的内容的信息。

关于forms - Drupal 7 managed_file 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com