首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal7 managed_file形式

Drupal7 managed_file形式
EN

Stack Overflow用户
提问于 2013-10-04 14:21:37
回答 1查看 7.4K关注 0票数 2

我将这个managed_file表单放在一个Drupal自定义模块中,使用这个表单,用户可以上传图像并将其保存在sites/default/file下。

代码语言:javascript
复制
     $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'],
    );

如何添加一个函数来获取上传的文件?我试过这个,但没有用。

代码语言:javascript
复制
    $image = file_load($form_state['values']['Background_image']);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-04 15:33:49

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

代码语言:javascript
复制
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']的内容。

代码语言:javascript
复制
function my_module_form_submit($form, &$form_state) {
  die(var_dump($form_state['values']['background_image']));
}

这应该会告诉你一些关于从你的表单中返回什么的事情。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19183638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档