У меня есть страница сущности, меню и элемент меню. Все это вместе должно дать мне меню в виде cms. Вот сущности:
Страница:
**
* @ORM\Entity
* @ORM\Table(name="page")
*/
class Page
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string")
*/
private $title;
/**
* @ORM\Column(type="string", unique=true)
*/
private $slug;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $content;
}
MenuItem
class MenuItem
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var Menu
*
* @ORM\ManyToOne(targetEntity="Menu")
*/
private $menu;
/**
* @var string
*
* @Assert\NotBlank
* @Assert\Length(
* max = 255
* )
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @var int
*
* @ORM\Column(name="position", type="integer")
*/
private $position;
/**
* @var int
*
* @ORM\OneToMany(targetEntity="Page")
*/
private $page;
}
Меню
/**
* @ORM\Entity
* @ORM\Table(name="menu")
*/
class Menu
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string")
*/
private $name;
/**
* @ORM\Column(type="string")
*/
private $slug;
/**
* @var int
*
* @ORM\ManyToOne(targetEntity="MenuItem")
*/
private $items;
}
Все, что я хочу сделать, это добавить Меню в простом админском пакете с созданием повторителя пунктов меню, где я могу выбрать существующую страницу и ввести номер позиции. Я пытался сделать это так:
easy_admin_bundle.yaml
- { property: 'items', type: 'App\Form\MenuType' }
Но я не знаю, как сделать форму похожей на reapeater с добавлением нового раздела или удалением существующего.