Sonata Admin Bundle Type De Collecte De Personnalisation

Par exemple, j'ai 3 entités:

  • Catégorie
  • De la sous-catégorie
  • Produit

Dans SonataAdminBundle, je voudrais être en mesure d'ajouter de la sous-catégorie lors de la modification de la Catégorie de Produits et lors de l'édition de sous-catégorie.

Suivant cette idée, j'ai créé des champs, mais SonataAdminBundle commence à jouer "Inception" avec eux.

Quand j'ouvre la Catégorie I voir les sous-catégories qui contiennent des Produits connexes.

Comment puis-je couper les "Produits" dans ce cas?

Mise à jour:

Mes classes (simplifié) ressembler à ceci:

//.../CoreBundle/Admin/CategoryAdmin.php
protected function configureFormFields(FormMapper $formMapper) {
    $formMapper
    ->add('name', null, array('required' => true))
    ->add('url', null, array('required' => true))
    ->add('subcategories', 'sonata_type_collection', array('by_reference' => true),     array(
  'edit' => 'inline',
  'sortable' => 'pos',
  'inline' => 'table',));
}


//.../CoreBundle/Admin/SubcategoriesAdmin.php
protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
            ->add('name', null, array('label' => 'name'))
            ->add('category_id', null, array('label' => 'Category'))
            ->add('url', null, array('label' => 'Url'))
            ->add('products', 'sonata_type_collection',
                  array('by_reference' => false),
                  array(
                       'edit' => 'inline',
                       'sortable' => 'pos',
                       'inline' => 'table',
                  ));
}

//.../CoreBundle/Admin/ProductsAdmin.php
protected function configureFormFields(FormMapper $formMapper) {
    $formMapper
            ->add('name', null, array('label' => 'Заголовок'))
            ->add('subcategory_id',  null, array('label' => 'Subcategory'));
}

Schéma ressemble à ceci:
Sonata Admin Bundle Type De Collecte De Personnalisation
Et dans AdminBundle, il ressemble à ceci:
Sonata Admin Bundle Type De Collecte De Personnalisation

InformationsquelleAutor Jun Murakami | 2012-08-27