因此,在Sonata Admin的编辑操作中,我试图根据创建或编辑上下文显示不同的表单字段.
也许有些背景先..
我有一个Gallery实体和一个与OneToOne绑定的CoverPhoto实体.
画廊:
/**
* @ORM\OneToOne(targetEntity="CoverImage", mappedBy="gallery", cascade={"all"}, orphanRemoval=true)
**/
private $cover;
Run Code Online (Sandbox Code Playgroud)
封面图片:
/**
* @ORM\OneToOne(targetEntity="Gallery", inversedBy="cover")
**/
private $gallery;
Run Code Online (Sandbox Code Playgroud)
这是相应的GalleryAdmin类:
class GalleriesAdmin extends Admin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
-> add('name', null, array('label' => 'Nazwa'))
-> add('category', 'sonata_type_model', array('label' => 'Kategoria'), array('subject' => $this -> getSubject()))
-> add('cover', 'sonata_type_admin', array('label' => 'Ok?adka'))
-> add('images', 'sonata_type_collection', array('by_reference' => false, 'label' => 'Powi?zane zdj?cia'), array(
'edit' => 'inline',
'sortable' => false, …
Run Code Online (Sandbox Code Playgroud)