Существующий проект, над которым я работаю, использует SonataMediaBundle. Мне нравится опция Галерея, предоставляемая этим пакетом, с одним предупреждением: галерея позволяет пользователям включать не только изображения, но и мультимедиа от трех поставщиков видео (YouTube, Vimeo и DailyMotion).
Как сделать так, чтобы в комплекте были только изображения в качестве галереи?
До сих пор я пытался найти в GalleryAdmin.php какую-либо ссылку на имена провайдеров, но пока не нашел ничего очевидного.
Изменить: я также понимаю, что я мог бы просто удалить поставщиков, которые я не хочу из sonata.yaml
файл (и / или sonata_media.yml
в зависимости от настройки), но это полностью удалит их из приложения, что не совсем то, что я хочу. Я все еще хочу иметь возможность использовать провайдера YouTube, например — только не при создании галерей изображений.
После небольшого исследования я нашел обходной путь, который не идеален, но выполняет свою работу. Я добавил следующий блок в sonata_media.yml:
galleries:
providers:
- sonata.media.provider.image
formats:
abstract: { width: 100, quality: 100 }
wide: { width: 820, quality: 100 }
… что не является идеальным, поскольку добавляет шаг в рабочий процесс. (Теперь я должен сказать клиентам: «Если вы хотите создать галерею, выберите контекст« галереи », а затем выполните xyz». Это немного загромождено, но снижает вероятность непредсказуемых результатов.)
Других решений пока нет …