可能应该标题为:"SonataMediaBundle - 哪里是失踪的howto?".
我已经使用sonataAdminBundle和sonataDoctrineORMAdminBundle(以及其他一些)制作了一些管理员后端,大部分工作都按预期工作,但我留下文件上传和处理以供日后使用,因为我认为"可能有多难?".
长话短说 - 是否有关于最简单的事情的任何文档 - 即将图像附加到帖子或条目,如何配置奏鸣曲管理类,如何以编辑形式显示图像拇指等?
文档的第一页以"您可以访问您的管理仪表板"结束,就像我可以期待那里的一些相关更改,可能是媒体经理启动和运行,或者其他什么.但这种情况并非如此.
下一页简要介绍了heplers,然后是另一个页面,其中包含相当复杂的vimeo提供程序案例研究.
我在网上搜索过,我最好能想出来,上传带有ajax弹出窗口的字段,以及上传文件列表.
在我的管理课程中,我有:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->with('general')
->add('title')
->add('body')
->add('categories')
->end()
->with('media')
->add('images', 'sonata_type_model')
Run Code Online (Sandbox Code Playgroud)
在我的新闻课上:
/**
* @ORM\ManyToMany(targetEntity="Application\Sonata\MediaBundle\Entity\Media")
*/
public $images;
Run Code Online (Sandbox Code Playgroud)
并实施了所有的yaml配置和路由.
结果是:Fatal error: Call to a member function add() on a non-object in [some-entity].php当尝试上传图像时,可选择的图像id列表带有"加号"(我猜是sonata_type_model字段).
我被卡住了.我能够在一两个小时内以简单的sf2创建媒体"经理",但这是另一个项目,并且重写当前的模式意味着从头开始"开始".那么 - 为了使sonataMediaBundle与sonataAdminBundle一起按预期工作怎么办?
编辑:这是我做的事情:
我的新闻类(或任何其他需要图片上传的内容):
<?php
namespace Some\SiteBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Some\SiteBundle\Entity\News
*
* @ORM\Table(name="news")
*/
class News
{
/** …Run Code Online (Sandbox Code Playgroud) 关于symfony2表单组件及其模板的问题:
我有一堆样式的复选框(在一个表格行中大约10个).通常我会以<label>这种方式使用标记:<label><input/> some text</label>但我找不到在表单模板中更改它的方法(form_div_layout.html.twig).我甚至找不到一种方法来包装输入小部件及其标签周围的任何标签,我总是最终得到这样的标记:<input/> <some_tag><label>some text</label></some_tag>或者<some_tag><input/></some_tag> <label>some text</label>说它不是很有用,至少可以说......
谷歌搜索了一下,但找不到答案.