Ví dụ tôi có 3 đơn vị:Sonata quản Bundle Loại Collection Customization
- Thể loại
- mục con
- sản phẩm
Trong SonataAdminBundle Tôi muốn để có thể thêm trong khi mục con chỉnh sửa Danh mục và Sản phẩm trong khi chỉnh sửa Danh mục phụ.
Theo ý tưởng này tôi đã tạo các trường, nhưng SonataAdminBundle bắt đầu phát "Khởi động" với chúng.
Khi tôi mở Danh mục tôi thấy các danh mục con có liên quan chứa các sản phẩm liên quan.
Tôi làm cách nào để cắt trường "Sản phẩm" trong trường hợp này?
Cập nhật:
lớp của tôi (giản thể) trông như thế này:
// .../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 trông như thế này: Và trong AdminBundle nó trông như thế này: