我正在从事的一个现有项目使用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。它有点混乱,但它降低了不可预测的结果的可能性。