Одной из причин, по которой некоторые обходили стороной модуль One Click Upload, это загрузка файлов "в никуда". Т.е. загруженные файлы никак не связанны с тем содержимым, в котором они выводятся и нет способа автоматически удалять эти файлы при удалении содержимого.
С помощью последней dev версии модуля и небольшого количества кода, можно сохранять файлы в любое file или image поле.
Пример сохранения картинок в поле field_inline_images
для нод и комментариев:
/**
* Implements hook_ocupload_files_saved().
*/
function MODULENAME_ocupload_saved_data_alter(&$files, &$form, &$form_state) {
if (
isset($form['#entity_type']) &&
in_array($form['#entity_type'], array('node', 'comment')) &&
isset($form_state['values']['field_inline_images'])
) {
foreach ($files as $file) {
$form_state['values']['field_inline_images']['und'][] = array(
'fid' => $file->fid,
'_weight' => 100,
);
}
}
}
Замечание: опция Delete unused files в настройках модуля должна быть включена.
Добавлено 23.04.2015: в версии 2.x возможность прикреплять файлы к полям доступна из админки.
Написанное актуально для
One Click Upload 7.x-1.x-dev
Комментарии
Огромное спасибо! Давно пользуюсь твоим модулем, а теперь станет еще приятней им пользоваться =)
Очень полезное дополнение
Спасибо за модуль, есть один вопрос: можно ли подружить one click upload с imagefield tokens при помощи этого хука?
@Макс попробуйте
Я так понимаю для блоков это работать не будет?
если у вас получится добавить блоку поле, то будет
Добавить комментарий