我创建了一个权利表单,在表单提交后我将数据存储在数据库中。但是在文件的情况下它不上传文件并将文件ID存储在我的数据库中。我是创建Entityform的新手,所以任何关于此的帮助都是适合的。
如果我做错了请告诉我这里是代码片段。
$entity_form['fields']['file_id'] = array(
'#type' => 'file',
'#title' => t('File'),
'#title_display' => 'visible',
'#size' => 128,
'#theme_wrappers' => array(),
);
public function entityFormSubmit(&$entity_form, &$form_state) {
$child_form_state = form_state_defaults();
$form_state['storage']['#parent'] = $entity_form['#parents'];
$child_form_state['values'] = drupal_array_get_nested_value($form_state['values'], $entity_form['#parents']);
foreach ($child_form_state['values']['fields'] as $key => $value) {
if ($key != 'options') {
$entity_form['#entity']->$key = $value;
} elseif($key == 'options') {
$entity_form['#entity']->$key = serialize($value);
}
}
答案 0 :(得分:3)
也许您可以使用managed_file
字段类型...
非常简单,您可以在https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#managed_file
找到一个用法示例不要忘记在提交处理程序中调用file_usage_add
函数。