问题标签 [sonata-media-bundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
362 浏览

gallery - 在奏鸣曲管理中使用现有画廊创建博客实体时重复

我目前正在使用 Sonata Admin。我有一个链接到奏鸣曲媒体捆绑库实体的博客实体。

我用画廊 G1 创建了一个博客对象 B1。还行吧

然后我尝试使用相同的画廊 G1 创建一个博客对象 B2。由于重复的原因而出错。

博客实体

在我的管理员中

这里的任何人都可以解释为什么在尝试重用现有 Gallery 对象时出现以下错误?

完整性约束违规:1062 键 'UNIQ_6027FE7DD44F05E5' 的重复条目 '1'

0 投票
1 回答
562 浏览

php - Sonata Media Bundle - 如何扩展 FormatThumbnail.php

Sonata Media Bundle 您在配置中的提供程序上具有缩略图属性,您可以在其中指定

这一切都很好,sonata.media.thumbnail.format 对于我想要实现的一切都很好。我的问题在于这些文件中发生的事情。

在 FormatThumbnail.php 中有一个名为 generatePublicUrl 的函数,它们在其中生成媒体文件的 url 以及格式化文件的名称。他们在名称或 url 中使用媒体 ID。如果您有私人文件,则不是每个人都必须能够看到这会导致问题,因为很容易将 id 操作到另一个 id。

我知道将提供的公共文件将始终保持公开,因此如果可以猜到 url,用户将访问该文件。出于这个特定原因,我想尝试用捆绑包在创建实际格式化文件之前使用的唯一引用替换该 ID,因为这不会那么容易更改。

我知道仍然存在泄露数据的风险。

我想改变这个

对此

如何覆盖捆绑包刚刚获取更改的文件?

我已按照 Sonata 网站上关于如何使用 easy extends 捆绑包安装和设置捆绑包的步骤进行操作。我有自己的 Application\Sonata\MediaBundle 文件夹,它扩展了原始 Sonata\MediaBundle。

有关安装相关信息,请查看文档(https://sonata-project.org/bundles/media/master/doc/reference/installation.html

但是我尝试创建自己的缩略图文件夹并创建一个新的 FormatThumbnail.php,如下所示

但是捆绑包仍然使用 id 而不是引用来生成所有内容。有没有更具体的方法来实现扩展这个文件并覆盖函数?

0 投票
0 回答
171 浏览

sonata-admin - SonataMediaBundle 多对多额外字段没有任何作用

有没有办法使用奏鸣曲媒体包轻松处理实体图像?我尝试了所有我找到的解决方案,但没有任何效果......许多问题: - 无法从集合中删除图像 - 每次无法添加多个文件 - 无法查看缩略图

这个包不太好用,我想我会重写另一个我不会花时间的包。

我认为我正在做一件好事:

管理员类:

加入实体:

最后是我的加入实体的管理类:

有什么不对?我花了很多天才找到为什么我无法附加图像但我什么也没找到......我真的认为这个捆绑包没有功能......

谢谢你的帮助。

0 投票
2 回答
659 浏览

symfony - 使用 SonataMediaBundle 上传到 AmazonS3

我想知道如何将 aws php sdk ( aws/aws-sdk-php ) 包装在 Symfony2 中,以便与 SonataMediaBundle 一起用作 cdn

我目前的奏鸣曲配置:

但我收到一个错误:Attempted to load class "AmazonS3" from the global namespace

0 投票
1 回答
460 浏览

symfony - 奏鸣曲媒体包中的错误

我安装了奏鸣曲管理包作为文档我的问题是我在清除缓存时收到此错误


运行时注意事项: Sonata\MediaBundle\Controller\MediaAdminController::render() 的声明应该与 Symfony\Bundle\FrameworkBundle\Controller\Controller::render($view, array $parameters = Array, Symfony\Component\HttpFoundation\Response 兼容$响应=空)

这是我的 composer.json 请求

我厌倦了一切,但仍然不知道为什么会出现此错误,请帮助我

0 投票
0 回答
478 浏览

twig - 使用 twig (sonatamediabundle) 中的语句获取完整路径

我如何获得奏鸣曲媒体捆绑的完整路径?

我可以正常获取完整路径

然而sonatamediabundle是这样的

是否可以通过语句获取完整路径???

0 投票
1 回答
579 浏览

symfony - 无法使用 SonataMediaBundle 添加图像

我想添加到我的帖子图片中,但我有错误。在我的日志中

错误 - 无法创建对象:SonataTest\ModelBundle\Entity\Post 上下文:{"exception":"Object(Sonata\AdminBundle\Exception\ModelManagerException)","previous_exception_message":"执行 'INSERT INTO Post (title , created_at, updated_at, body, media_id) VALUES (?, ?, ?, ?, ?)' with params [\"FirstTitle\", \"2015-07-26 11:47:38\", \"2015- 07-26 11:47:38\", \"FirstTitle\", 15]:\n\nSQLSTATE[42S02]: 未找到基表或视图:1146 表 'sonata.Post' 不存在"}

我的 config.yml

我的实体

我的控制器

我做错了什么?在我的数据库中,我有表格帖子和媒体

0 投票
0 回答
71 浏览

symfony - 根据型号在CKEditor浏览器上过滤SonataMediaBundle媒体?

我的要求相当简单:我需要一个能够在基于 Symfony 2 的系统中上传图像的富文本编辑器。我安装了 SonataMediaBundle 和 CoopTilleulsCKEditorSonataMediaBundle。

然而,有一个转折点。图像必须与部门相关联,这让我认为必须有从to的OneToMany关系。我可以理解,但这还不够,因为只有属于 a 的图像才能从文件浏览器中选取。DepartmentMediaDepartment

可悲的是,没有很多文档可以知道如何让 CKEditor 知道必须过滤哪些实体,或者我应该在哪里执行此操作,而无需从头开始构建完全自定义的浏览器。而且,浏览器应该不能显示其他Departments的图像。

我在这里想念什么?有什么我应该明白我不是的吗?

0 投票
2 回答
1402 浏览

php - 如何使用奏鸣曲包重命名文件上传

如何重命名我用奏鸣曲捆绑下载的文件?

该文件是 PDF,数据库文件夹中的名称是:/upload/media/default/0001/01/0000000013ac6bf9000000017c7d6398.pdf 我希望我的文件如下所示:/upload/media/0001/01/myfile.pdf

谢谢你 !!

0 投票
0 回答
1913 浏览

php - Symfony Sonata Media Bundle 一对多关系

我有一个使用奏鸣曲 AdminBundle 的项目,我想使用 mediaBundle 进行上传。我有一个可以有许多图像的实体原型。我想要一个表格,以便在保存之前添加许多图像。我按照MediaBundle ~ MediaType 中的步骤进行了改进 ,但它不起作用,我不明白为什么!

编辑:要明确:我有 3 个部分,我希望能够在每个部分中上传许多图像。

这是我的原型实体:

在 PrototypeHasMedia 中:

这是prototypeAdmin.php

这是 PrototypeHasMediaAdmin

我已经尝试了处理 Sonata Admin Bundle 中的多个文件上传中的解决方案,但我仍然存在问题:我无法在很多地方上传:我在“平板电脑”和“手机”中没有添加按钮' 部分。我刚开始使用 Symfony 和奏鸣曲,我仍然感到困惑。

这是我现在拥有的:

在此处输入图像描述

谢谢您的帮助