问题标签 [symfony-sonata]

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 投票
7 回答
20906 浏览

php - 如何在 SonataAdminBundle 的上传字段上方显示当前图片?

我正在使用SonataAdminBundle(带有 Doctrine2 ORM),并且我已经成功地将文件上传功能添加到我的图片模型中。

我想在显示编辑<img src="{{ picture.url }} alt="{{ picture.title }} />页面上,在相关表单字段上方显示一个简单的标签(当然,前提是正在编辑的图片不是新的),以便用户可以看到当前照片,并决定是否改变与否。

经过数小时的研究,我一直无法弄清楚如何做到这一点。我想我需要覆盖一些模板,但我有点迷茫......有人可以给我一个提示吗?

谢谢!

这是我的 PictureAdmin 类的相关部分。

0 投票
2 回答
2890 浏览

php - SonataUser - 从管理表单中删除字段

我将 FOSUser 与 SonataUser 和 SonataAdmin 一起使用。我还使用了 SonataEasyExtends 来创建 app/Application/Sonata/UserBundle,正如在将 FOS 与 Sonata 一起使用时的几个教程中所述。

我只是想从用户实体的管理表单中删除几个默认字段,例如社交(facebook、twitter、...)。

我试图通过放置来覆盖表单

我想我必须将它注册为服务,并告诉索纳塔默认使用它。

但我不知道该怎么做。

我至少在正确的轨道上吗?

0 投票
1 回答
1854 浏览

symfony - symfony2/sonata: 你请求了一个不存在的服务“”

当我尝试请求在奏鸣曲中列出对象时出现此错误:

您请求了一个不存在的服务“”。

这是我的 config.yml:

这是我的 services.xml:

0 投票
1 回答
1158 浏览

symfony - Sonata 用户包创建 4 个表

我之前安装过 FosUser 包,今天安装了 SonataUserBundle。当我 --dump-sql 时,Symfony 想要安装 4 个新表:

前 3 个令人困惑,因为管理员已经在使用现有的 ...Entity\User 类,我什至为其设置了关系。

为什么要安装这 3 个表以及如何防止这种情况?它们有什么用,因为即使没有它们,管理部分也能正常工作。

0 投票
2 回答
5820 浏览

symfony - 覆盖用户管理表单

我正在尝试覆盖SonataUser/Admin/Model/UserAdmin's configureFormFields(),因为我需要从管理表单中删除一些默认字段。所以我复制了vendor/bundles/Sonata/UserBundle/Admin/Model/UserAdmin.php我的包中的文件app/Application/Sonata/UserBundle/Admin/Model/UserAdmin.php并修改了它。然后将其声明为服务:

现在问题:我做得对吗?我怎样才能告诉奏鸣曲管理员使用它?

0 投票
1 回答
409 浏览

symfony - Symfony2:奏鸣曲管理包。什么是持久化服务?

我正在绝望地尝试制作 Admin Bundle 好几天了,我被困在某个时刻。我决定从头开始。

我已经正确安装了所有供应商,现在,我已经可以通过访问以下网址访问管理仪表板:http://yoursite.local/admin/dashboard。(那里没什么有趣的,只有标题。)

所以在第 2.2 步,他们希望我设置持久性服务(ORM、ODM、...),我不知道它是用来做什么的,上次,因为他们说“SonataAdminBundle 不强制执行持久性服务(服务用于处理和控制你的模型)”我已经跳过了这一步......但也许我不应该这样做......

谁能告诉我它是做什么用的吗?我应该使用它,为什么以及为什么?也许这就是我不能让它工作的原因。

谢谢你 !

0 投票
5 回答
6033 浏览

php - SonataUser - 扩展管理员

我正在尝试修改User实体的默认管理员。
实际上只需要从表单中删除某些字段。

我想这个文档在可用时会对我有用。
现在我已经创建了这个管理员并尝试覆盖默认管理员User

应用程序/应用程序/奏鸣曲/UserBundle/Admin/Model/UserAdmin.php

应用程序/配置/config.yml

但我越来越

无法导入资源“/var/www/Symfony/app/config/。” 来自“/var/www/Symfony/app/config/routing.yml”。
...
ErrorException:可捕获的致命错误:传递给 Sonata\AdminBundle\Admin\Admin::addExtension() 的参数 1 必须是 Sonata\AdminBundle\Admin\AdminExtensionInterface 的实例,Application\Sonata\UserBundle\Admin\Model\ 的实例给定的 UserAdmin,在第 3139 行的 /var/www/Symfony/app/cache/dev/appDevDebugProjectContainer.php 中调用,并在第 2359 行的 /var/www/Symfony/vendor/bundles/Sonata/AdminBundle/Admin/Admin.php 中定义

我究竟做错了什么 ?

0 投票
1 回答
12574 浏览

php - Sonata Admin:添加自定义触发器/动作到列表/编辑动作

SonataAdminBundle用于管理我的应用程序中的实体。该网站的管理员可以添加视频,其中一些首先需要得到演讲者的批准。已经有一个授权系统在工作 - 我有一个工作代码,它将生成一个特殊链接并通知演讲者,演讲者可以批准或不批准视频,并自动通知管理员。

ask for authorization我想自定义我的管理部分,所以视频旁边会有一个按钮。我可以将它放在列表操作 ( /admin/acme/videos/list) 或右侧导航 ( /admin/acme/videos/x/edit/)某处的编辑操作中

这样做的最佳方法是什么?文档中关于块自定义的内容很少,但我发现这个示例可能是我正在寻找的东西,但我不知道如何使用它。

一种选择是使用preUpdate钩子,并在编辑操作中添加一个复选框,但一个按钮会更好。

0 投票
1 回答
11688 浏览

templates - Sonata Admin Bundle - 表单类型:sonata_type_collection - 自定义模板?

是否可以覆盖表单类型的模板:“sonata_type_collection”?

我试过沿着这些路线:

但无济于事。

我知道我可以覆盖整个模板,但我只想为这个表单做它,而不是我使用这个表单类型的所有地方。

有谁知道这是否可能?

谢谢

0 投票
2 回答
11954 浏览

symfony - SonataMediaBundle - 如何上传图片?

可能应该标题为:“SonataMediaBundle - 缺少的方法在哪里?”。

我已经使用 sonataAdminBundle 和 sonataDoctrineORMAdminBundle(以及其他一些)创建了一些管理后端,大多数事情都按预期工作,但我将文件上传和处理留到以后,因为我想“这可能有多难?”。

长话短说 - 是否有任何关于最简单事物的文档 - 即将图像附加到帖子或条目,如何配置奏鸣曲管理类,如何以编辑形式显示图像缩略图等?

文档的第一页以“您可以访问您的管理仪表板”结尾,好像我可以期待那里有一些相关的变化,可能是媒体管理器启动并运行,或者其他什么。但这种情况并非如此。

下一页简要介绍了 heplers,然后是另一页,介绍了相当复杂的 vimeo 提供者案例研究。

我已经在整个网络上进行了搜索,我能想到的最好的方法是带有 ajax 弹出窗口的上传字段和上传文件的列表。

在我的管理课上,我有:

在我的新闻课上:

并且实现了所有 yaml 配置和路由。

结果是:Fatal error: Call to a member function add() on a non-object in [some-entity].php当尝试上传图像时,图像ID的可选列表带有“加号”(我猜是sonata_type_model字段)。

我被困住了。我能够在一两个小时内在普通的 sf2 中创建媒体“管理器”,但这是另一个项目,将当前项目重写为这种模式意味着“从头开始”。那么 - 为了使sonataMediaBundle 与sonataAdminBundle 一起按预期工作,该怎么做?


编辑:这就是我所做的:

我的新闻类(或任何其他需要上传图片的):

我的文档类(需要更改表的名称,因为我在某些服务器上遇到了保留字的问题):

如您所见,大部分内容是从 symfony2 教程中复制而来的。

现在,对于控制器:

我的基础包类扩展了管理包类,我可以覆盖模板:

SomeSiteBundle/resources/views/CRUD/base_edit.html.twig我稍微更改了模板以让用户看到当前设置的图片:

现在我每条新闻只使用一张图片(“特色图片”),无论如何这有点矫枉过正,因为我使用的是带有 jbimages 插件的 tinyMCE,所以无论如何我都可以将图像放入新闻正文中。要使 jbimages 插件正常工作,您必须设置一些 tinyMCE 选项:

------ 这部分处理 tinymce 和 tinymce 包和 tinymce 插件: ---------

$config['img_path'] = '/web/uploads/documents';(或任何其他适合您的路径)在web/bundles/stfalcontinymce/vendor/tiny_mce/plugins/jbimages/config.php. (当然,您需要先安装 stfalcon tinymce bundle)。然后我进行了一些编辑以允许读取web/bundles/stfalcontinymce/js/init.jquery.js更多选项:config.yml

最后在config.yml

这就是全部,AFAIR。希望这可以帮助 ;-)