Zum Beispiel habe ich drei Einheiten:Sonata Admin-Bundle-Typ-Sammlung Customization
- Kategorie
- Unter
- Produkt
In SonataAdminBundle würde ich Unter während in der Lage sein möchte hinzufügen Bearbeiten von Kategorie und Produkten während der Bearbeitung der Unterkategorie.
Nach dieser Idee habe ich Felder erstellt, aber SonataAdminBundle beginnt "Inception" mit ihnen zu spielen.
Wenn ich die Kategorie öffne, sehe ich verwandte Unterkategorien, die verwandte Produkte enthalten.
Wie kann ich in diesem Fall das Feld "Produkte" abschneiden?
Update:
Meine Klassen (vereinfacht) wie folgt aussehen:
// .../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'));
}
Schema sieht wie folgt aus: Und in AdminBundle sieht es wie folgt aus: