Использование виджета AJAX загрузки файлов в своих формах
Я как-то упустил из виду, что помимо стандартного способа загрузки файлов в своих формах можно использовать AJAX виджет поля File:
Пример использования:
/**
* Form builder
*/
function mymodule_myform($form) {
$form['file'] = array(
'#type' => 'managed_file',
'#title' => 'Картинка',
'#description' => 'Выберите файл с расширением jpg, jpeg, png или gif',
'#upload_location' => 'public://',
'#upload_validators' => array(
'file_validate_is_image' => array(),
'file_validate_extensions' => array('png gif jpg jpeg'),
'file_validate_size' => array(1 * 1024 * 1024),
),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Отправить',
);
return $form;
}
/**
* Form submit callback
*/
function mymodule_myform_submit($form, &$form_state) {
$file = file_load($form_state['values']['file']);
$file->status = FILE_STATUS_PERMANENT;
file_save($file);
drupal_set_message('Картинка загружена');
}
Написанное актуально для
Drupal 7
Комментарии:
Нету комментариев для вывода...