Особенно полезно, когда вы использовали проект как шаблон для другого сайта и надо почистить данные. Друпал хоть и показывает статистику использования файлов, но удалять файлы не позволяет из реестра /admin/content/files.
Напишем небольшой скрипт, чтобы решить эту проблему.
Скрипт удалит все файлы, которые не имеют связей.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
$file_storage = \Drupal::entityTypeManager()->getStorage('file'); $fids = Drupal::entityQuery('file') ->condition('status', 1) ->accessCheck(FALSE) ->execute(); $file_usage = Drupal::service('file.usage'); foreach ($fids as $fid) { $file = Drupal\file\Entity\File::load($fid); $usage = $file_usage->listUsage($file); // уберите это условие, // если хотите вообще почистить реестр if (count($usage) == 0) { $file->delete(); } } |
Осталось решить как запустить данный код, я временно добавляю его в какой то определенный хук и потом триггрерю его.
Но можно создать отдельный php файл и использовать команду:
|
|
drush php-script myfile.php |
Выполнение команды производится относительно корня сайта, учитывайте это.
Drupal 9/10
Данная запись опубликована в 17.10.2024 19:51 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 17, 2024 г.
Вы создали форму с полем типа file, и хотите сохранять файл как сущность друпала при отправке данных формы.
[crayon-6938ede0b425f273697687/]
Обычно объявления форм в Drupal 8+ размещаются в виде расширений класса FormBase в каталоге модуля /scr/Form/*. ...
Читать
Июнь 1, 2023 г.
В TWIG уже много разных встроенных фильтров, Drupal их перечень только расширяет. Но наше счастье было бы не полным, если бы мы не могли добавить свои фильтры.
В Drupal это делается через сервис twig.extension.
Для начала надо сформировать описатель, ...
Читать
Июль 30, 2023 г.
Модуль jwt реализует REST аутентификацию, настройку ключа и многое другое. Небольшой спиппет как сгенерировать и отправить jwt с собсвенной нагрузкой.
Передадим токен, в котором полезной нагрузкой будет ID пользователя. А время жизни токена - 1 ...
Читать
Май 17, 2023 г.
Выпиливаем мета-тег Generator из заголовочной секции сайта на Drupal. За одно и пару других лишних мета маркеров.
Для этого используем hook_page_attachments_alter в теме оформления сайта. 'Generator' в списке мета информации идет под именем system_meta_generator. ...
Читать