2015-04-28 3 views
0

Я использовал SonataAdminBundle для проекта symfony, и я хочу создать многомерную вкладку в функции EntityAdmin configureFormField для заполнения таблицы базы данных.многомерная вкладка в SonataAdminBundle

Для получения подробной информации у меня есть домен с идентификатором и именем, у меня есть объект Profil с идентификатором и именем, и у меня есть объект ProfilDomain, потому что у меня есть три поля (булевой тип) отображения, и удаление другим словом, этот объект является таблицей ассоциации с двумя предыдущими объектами с другим полем в нем.

Мой вопрос Как отобразить вкладку многомерной для заселить эту таблицу в базе данных, как изображения What I seek

Так Sonata способен сделать этот вид вкладки со всем контроллером позади.

Если нет, у вас есть какой-нибудь документ или какой-то совет для этого.

Благодарим за помощь.

ответ

0

Если вы говорите о виде формы, похоже, вы можете вложить с инструкцией. Взгляните на источники здесь: https://github.com/sonata-project/SonataAdminBundle/blob/master/Mapper/BaseGroupedMapper.php#L45

Если вы хотите создать такой макет в представлении списка, вы можете создать собственный шаблон для своего администратора. Посмотрите на документацию здесь https://sonata-project.org/bundles/admin/master/doc/reference/templates.html

Если вы хотите, вы можете задать пользовательские шаблоны для каждого отображения администратора основе. Внутри CRUDController извлекает эту информацию из экземпляра класса Admin, так что вы можете указать шаблоны для использования в определение сервиса Администратор

UPDATE

Вы также можете определить parentAssociationMapping соотношение между двумя классов администратора, чтобы получить более глубокие уровни редактирования.

В родительском администраторе добавить этот метод:

public function configureSideMenu(MenuItemInterface $menu, $action, AdminInterface $childAdmin = null) { 
    // ... compute $options 
    $menu->addChild('TheChildAdminName', $options); 
} 

В конфигурации администратора родительской добавить следующее:

<call method="addChild"> 
    <argument type="service" id="your_child_admin_service_id" /> 
</call> 

В классе ребенок администратора добавить это свойство:

protected $parentAssociationMapping = 'theNameOfTheParentPropertyInTheChildEntity'; 

Таким образом у вас будет боковое меню со всем настроенным дочерним элементом Admin

+0

Спасибо за ваш ответ, на самом деле он находится на форме. В настоящее время лучшее, что я мог сделать, это отобразить выпадающий список, чтобы выбрать профиль, выпадающий список, чтобы выбрать домен, и все флажки для выбора с действием - это правда. Мое желание - сохранить сразу несколько «отношений» с такой вкладкой. –

+0

Я обновил ответ, это не ваш точный случай, но я надеюсь, что он будет полезен кстати – seltzlab

+0

Спасибо за ваше обновление, но у меня нет родительского свойства в дочернем объекте, потому что я сделал отношение как много к одному в объекте ProfilDomain, является родителем, и у меня нет свойства profilDomain в моих сущностях profil и domain –

Смежные вопросы