【问题标题】:How to limit SonataMediaBundle gallery to a single provider?如何将 SonataMediaBundle 画廊限制为单个提供商?
【发布时间】:2018-08-09 12:28:30
【问题描述】:

我正在处理的现有项目使用 SonataMediaBundle。我喜欢该捆绑包提供的图库选项,但有一点需要注意:图库允许用户不仅包括图像,还包括来自三个视频提供商(YouTube、Vimeo 和 DailyMotion)的媒体。

如何使捆绑包只允许图片作为图库媒体?

到目前为止,我已经尝试在 GalleryAdmin.php 中搜索对提供者名称的任何引用,但我还没有在其中找到任何明显的内容。

编辑:我也意识到我可以从 sonata.yaml 文件(和/或 sonata_media.yml 取决于设置)中删除我不想要的提供程序,但这会将它们从应用程序中完全删除,即不是我想要的。例如,我仍然希望能够使用 YouTube 提供程序 -- 只是在创建图片库时不需要。

【问题讨论】:

    标签: php sonata-admin sonata symfony-3.3 sonata-media-bundle


    【解决方案1】:

    在做了一些研究之后,我想出了一个不完美但可以完成工作的解决方法。我在 sonata_media.yml 中添加了以下块:

    galleries:
        providers:
            - sonata.media.provider.image
    
        formats:
            abstract: { width: 100, quality: 100 }
            wide:     { width: 820, quality: 100 }
    

    ... 这并不理想,因为它为工作流程增加了一个步骤。 (我现在必须告诉客户“如果你想制作画廊,请选择‘画廊’上下文,然后进行 xyz。”这有点混乱,但它减少了不可预测结果的可能性。)

    【讨论】:

    • 另一个选项是更改默认上下文。但这可能会改变现有的工作流程,这是我不想要的。
    • 你为什么不接受你自己的答案?如果它解决了你的问题,那么它对接受/支持很有好处(后来你不能这样做,但我可以 - 并且做到了)。
    猜你喜欢
    • 2023-03-11
    • 2012-12-25
    • 1970-01-01
    • 2017-01-05
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多