В восьмёрке по умолчанию после удаления сущности не удаляются файлы, залитые в поля типа File. Они не удаляются ни сразу, ни по крону, так как статус файла в таблице file_managed
остаётся 1
. В версии 8.4 появилась опция make_unused_managed_files_temporary
, при включении которой файлы помечаются как временные и удаляются по прошествии 6 часов, однако отредактировать эту опцию из админки нельзя. Включить можно либо с помощью drush:
vendor/bin/drush config-set file.settings make_unused_managed_files_temporary 1 -y
либо выполнить код в Devel:
\Drupal::configFactory()
->getEditable('file.settings')
->set('make_unused_managed_files_temporary', TRUE)
->save();
либо добавить в settings.php
:
$config['file.settings']['make_unused_managed_files_temporary'] = TRUE;
Написанное актуально для
Drupal 8+
Похожие записи
- Навесить на элемент managed_file свой ajax callback (Как обновить всю форму при загрузки файла в managed_file)
- Добавить своё действие над сущностью в bulk operations
- Добавить своё действие над сущностью в contextual links
- Добавить своё действие над сущностью в operations links
- Bundle classes — киллер фича Drupal 9.3
Комментарии
Спасибо за решение.
Правильно я понимаю, что для старых не удаленных файлов это проблемы не решит, и их вручную как-то удалять нужно? Например, по костыльному изменив статус в базе на 0.
Да, всё верно
сам офигел от такого
в общем поставил вбо, с его помощью можно удалять файлы как контент, галочками.
ксандрекс, какой там самый популярный сейчас файл-менеджер для ckeditor?
imce при включенной аггрегации js-скриптов не пашет))
можно конечно поставить advagg, но пипец он весит 300к и генерит в исходном коде страницы сотню js/css.
elfinder чтоли придется юзать.
не в курсе, не пользуюсь файлменеджерами
А почему разработчики не сделали удаление по умолчанию?
У кого-нибудь работает метод добавления в settings.php? У меня нет, хоть и вставил строчку вот этого кода: $config['file.settings']['make_unused_managed_files_temporary'] = TRUE;
У меня работает.
Добавить комментарий