SonataAdminBundle を使用して、現在取り組んでいるプロジェクトのバックエンドを管理しています。この場合、1 つ以上の画像を「アイテム」に追加したいと考えています。エンティティの関連ビットは次のとおりです
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 エラーで、次のメッセージが表示されます。
30 行目の SonataDoctrineORMAdminBundle:CRUD:edit_orm_one_to_many.html.twig の NULL 変数 ("") でメソッド ("trans") を呼び出すことはできません
ここからどこへ行けばいいのかよくわかりません。SonataAdminBundle、特にこのタイプのインライン編集/他のエンティティの作成の経験はあまりありません。
バージョン情報:
- PHP 5.4.19
- シンフォニー 2.3.4
- SonataAdminBundle 2.2.3
- SonataMediaBundle 2.2.3