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:
Et dans AdminBundle, il ressemble à ceci:
Vous devez vous connecter pour publier un commentaire.
Pourquoi n'essayez-vous pas quelque chose le long de ces lignes:
$this->hasParentFieldDescription()
.La solution donnée par @likeitlikeit ne fonctionne pas pour symfony2.0.
En quelque sorte, hasParent() retourne toujours false.
Comme une solution de contournement :
Le nom d'une collection sera numériques (0, 1, 2,...), le tout dans un solo de forme, ce sera un hachage.