我正在使用 SonataAdminBundle 来管理我正在处理的项目的后端。在这种情况下,我想将一个或多个图像添加到“项目”。这是实体的相关位
src/My/Bundle/Entity/Item.php
/**
* Item
*
* @ORM\Table(name="item")
* @ORM\Entity()
*/
class Item
{
/**
* @var Media
*
* @ORM\OneToMany(targetEntity="\Application\Sonata\MediaBundle\Entity\Media", mappedBy="item")
* ORM\JoinTable(name="item_media",
* joinColumns={@ORM\JoinColumn(name="item_id", referencedColumnName="id")}
* , inverseJoinColumns={@ORM\JoinColumn(name="media_id", referencedColumnName="id", unique=true)}
* )
*/
protected $media;
}
现在管理类的相关位:
src/My/Bundle/Entity/Item.php
class ItemAdmin extends Admin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('media', 'sonata_type_collection'
, array(
'required' => false
, 'type' => 'sonata_media_type'
, 'by_reference' => false
, 'type_options' => array(
'provider' => 'sonata.media.provider.image'
, 'context' => 'default'
, 'auto_initialize' => false
)
)
, array(
'edit' => 'inline'
, 'inline' => 'table'
, 'allow_delete' => true
, 'sortable' => 'position'
))
;
}
}
现在在 UI 本身中,当我单击+ Add New按钮时,AJAX 响应是 500 错误,并显示以下消息:
无法在 SonataDoctrineORMAdminBundle:CRUD:edit_orm_one_to_many.html.twig 第 30 行的 NULL 变量 ("") 上调用方法 ("trans")
我真的不知道从这里去哪里。我对 SonataAdminBundle 没有太多经验,尤其是这种类型的内联编辑/创建其他实体。
版本信息:
- PHP 5.4.19
- Symfony 2.3.4
- SonataAdminBundle 2.2.3
- SonataMediaBundle 2.2.3