如何将 SonataMediaBundle 画廊限制为单个提供商?
How to limit SonataMediaBundle gallery to a single provider?
我正在处理的现有项目使用 SonataMediaBundle。我喜欢该捆绑包提供的图库选项,但有一个警告:图库允许用户不仅包括图像,还包括来自三个视频提供商(YouTube、Vimeo 和 DailyMotion)的媒体。
如何让捆绑包只允许图片作为图库媒体?
到目前为止,我已经尝试在 GalleryAdmin.php 中搜索任何对提供商名称的引用,但我还没有在其中找到任何明显的内容。
编辑:我也意识到我可以从 sonata.yaml
文件中删除我不需要的提供程序(and/or sonata_media.yml
取决于设置),但这完全从应用程序中删除它们,这不是我想要的。例如,我仍然希望能够使用 YouTube 提供程序——只是在创建图片库时不能使用。
经过一些研究,我想出了一个不完美但可以解决问题的解决方法。我将以下块添加到 sonata_media.yml:
galleries:
providers:
- sonata.media.provider.image
formats:
abstract: { width: 100, quality: 100 }
wide: { width: 820, quality: 100 }
... 这并不理想,因为它在工作流程中增加了一个步骤。 (我现在不得不告诉客户 "If you want to make a gallery, choose the 'galleries' context and then do xyz." 它有点混乱,但它减少了不可预测结果的可能性。)
我正在处理的现有项目使用 SonataMediaBundle。我喜欢该捆绑包提供的图库选项,但有一个警告:图库允许用户不仅包括图像,还包括来自三个视频提供商(YouTube、Vimeo 和 DailyMotion)的媒体。
如何让捆绑包只允许图片作为图库媒体?
到目前为止,我已经尝试在 GalleryAdmin.php 中搜索任何对提供商名称的引用,但我还没有在其中找到任何明显的内容。
编辑:我也意识到我可以从 sonata.yaml
文件中删除我不需要的提供程序(and/or sonata_media.yml
取决于设置),但这完全从应用程序中删除它们,这不是我想要的。例如,我仍然希望能够使用 YouTube 提供程序——只是在创建图片库时不能使用。
经过一些研究,我想出了一个不完美但可以解决问题的解决方法。我将以下块添加到 sonata_media.yml:
galleries:
providers:
- sonata.media.provider.image
formats:
abstract: { width: 100, quality: 100 }
wide: { width: 820, quality: 100 }
... 这并不理想,因为它在工作流程中增加了一个步骤。 (我现在不得不告诉客户 "If you want to make a gallery, choose the 'galleries' context and then do xyz." 它有点混乱,但它减少了不可预测结果的可能性。)