微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 single_media_upload

如何解决如何使用 single_media_upload

我正在寻找在 SULU AdminUI 中简单使用 single_media_upload 的示例。

我有一个玩家表单,它有 single_media_selection 类型的字段,而且工作正常。

现在,我如何使用 single_media_upload,因为当我替换它而不是 single_media_selection 时,它在保存后不以表格形式显示图片(但它保存图像)。

<property name="photo" type="single_media_selection" colspan="4" >
            <Meta>
                <title>playerinfo.playerimage</title>
            </Meta>
            <params>
                <param name="types" value="image"/>
            </params>
        </property>

我替换为

<property name="photo" type="single_media_upload" colspan="4" spaceAfter="2">
                <params>
                    <param name="upload_text">
                        <Meta>
                            <info_text>app.player_info_upload</info_text>
                        </Meta>
                    </param>
                    <param name="skin" value="default"/>
                    <param name="empty_icon" value="su-user"/>
                    <param
                        name="collection_id"
                        type="expression"
                        value="service('sulu_media.system_collections.manager').getSystemCollection('sulu_media')"
                    />
                </params>
            </property>

在实体本身中,字段是 MediaInterface 类型。

解决方法

single_media_upload 字段类型不能与 single_media_selection 类型互换。它用于管理内置联系人/帐户实体的头像/徽标,尚未针对其他用例进行优化。目前,single_media_upload 会为选定的媒体实体创建新的媒体版本,而不是在上传文件时创建单独的媒体实体。此行为与 single_media_selection 有很大不同,可能不适合您的用例。这也是 Sulu documentation 中尚未列出 field-type 的原因。

也就是说,您的问题的原因可能是 single_media_upload 字段类型使用的数据格式与 single_media_selection 不同。 通常,Sulu 表单视图的字段类型期望您的 API 以与提交表单时发送到服务器的格式相同的格式返回数据(请参阅中的 Form configuration section Sulu 文档)。您可以通过检查按 network panel development tools of your browser 中的保存按钮时发出的请求来查看发送到服务器的数据。

single_media_upload 字段类型的情况下,发送到服务器的数据如下所示:

{
  "id": 33,"url": "/media/33/download/photo-1535683939029-0030b4de2382.jpeg?v=1","thumbnails": {
    "sulu-400x400": "/uploads/media/sulu-400x400/03/33-photo-1535683939029-0030b4de2382.jpg?v=1-0",...
  }
}

如果您想以自定义实体的形式使用字段类型,您需要调整您的控制器(或您的实体的序列化)以匹配此格式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。