Рейтинг:1

Ограничить поле мультимедиа, чтобы разрешить выбор только определенного расширения файла в существующем типе мультимедиа

флаг pk

Есть ли способ ограничить поле мультимедиа, используя существующий тип мультимедиа (файл) в типе контента, чтобы разрешить только определенное расширение файла в этом экземпляре?

В частности, мне нужно подмножество разрешенных типов файлов в типе мультимедиа «Файл» — только PDF-файлы, не затрагивая библиотеку мультимедиа или тип мультимедиа «Файл».

Я попытался создать новый тип мультимедиа (в дополнение к аудио, файлу, изображению, видео) и добавил ограниченное поле «Файл», которое поддерживает только PDF-файлы, однако, поскольку он новый, нет файловых объектов для выбора; и мне нужно показать подмножество существующий Файловая библиотека.

Чтобы продемонстрировать желаемое поведение:

Тип контента А

  • Поле «Медиа» > «Файл» отображает все файлы, поддерживаемые типом «Файл»:
    • документ
    • документ
    • пдф и т. д.

Тип контента Б

  • Поле мультимедиа > Файл предоставляет только одно расширение:
    • пдф
leymannx avatar
флаг ne
Разве вам не нужно просто создать новый тип носителя, например «PDF», добавить к нему новое поле файла и в поле файла разрешить только «pdf», как на вашем скриншоте?
флаг pk
@leymannx Это работает для совершенно новых типов медиа, но обнаружило загвоздку; Новый тип носителя начинается без сущностей, и все существующие носители (включая нужные мне PDF-файлы) недоступны, поскольку они сохраняются как тип носителя «Файл», и мне нужен отобранный список существующих файловых носителей — я обновил ОП
leymannx avatar
флаг ne
Разделите их. А затем иметь разные разрешенные типы мультимедиа для каждого типа контента. Программно получите все узлы, к которым присоединены носители типа файла, где носители содержат PDF, сгруппируйте их по носителям, перенесите эти объекты мультимедиа в новые носители нового типа PDF и повторно присоедините к сгруппированным узлам, которые вы получили в начале. Выполните программное обновление в пакетном режиме. Либо форма, либо `hook_deploy_NAME/N(&$sandbox)`.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.