在奏鸣曲中添加具有多对一关系的实体
add entity inside other with many to one relation in sonata
我正在使用 Symfony 和奏鸣曲包,我有 2 个实体,它们与 ManyToOne/OneToMany 关系如下:
一个类别可以有多个子类别实体。为此,在 Sonata 的 FormMapper
中,当我添加一个新类别时,我想添加一个按钮来显示一个弹出窗口以创建多个 SubCategory .. 那么我如何覆盖 Sonata 的 Twig 来做到这一点?
类别管理员
class CategoryAdmin extends AbstractAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name')
->add('subcats', 'entity', array(
'class'=> 'ProductBundle\Entity\SubCategory',
'multiple' => true,
))
;
}
}
您可以通过添加以下内容来使用您的一个模板:
$formMapper
->add('name')
->add('subcats', 'entity', array(
'class'=> 'ProductBundle\Entity\SubCategory',
'multiple' => true,
'attr' => array('template'=> 'your\path\to\twig')
))
;
并且此树枝应从 base_edit_form.html.twig
延伸
{% extends 'SonataAdminBundle:CRUD:base_edit_form.html.twig' %}
{% block field %}
<div>
// put your code here
</div>
{% endblock %}
或者您有其他解决方案可以解决您的问题,您可以使用 Sonata_Type_Model
->add('subcats','sonata_type_model', array(
'multiple' => true,
'by_reference' => false
))
此解决方案将为您提供一个您喜欢的按钮,用于添加和删除以创建您的子类别
我正在使用 Symfony 和奏鸣曲包,我有 2 个实体,它们与 ManyToOne/OneToMany 关系如下:
一个类别可以有多个子类别实体。为此,在 Sonata 的 FormMapper
中,当我添加一个新类别时,我想添加一个按钮来显示一个弹出窗口以创建多个 SubCategory .. 那么我如何覆盖 Sonata 的 Twig 来做到这一点?
类别管理员
class CategoryAdmin extends AbstractAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name')
->add('subcats', 'entity', array(
'class'=> 'ProductBundle\Entity\SubCategory',
'multiple' => true,
))
;
}
}
您可以通过添加以下内容来使用您的一个模板:
$formMapper
->add('name')
->add('subcats', 'entity', array(
'class'=> 'ProductBundle\Entity\SubCategory',
'multiple' => true,
'attr' => array('template'=> 'your\path\to\twig')
))
;
并且此树枝应从 base_edit_form.html.twig
延伸{% extends 'SonataAdminBundle:CRUD:base_edit_form.html.twig' %}
{% block field %}
<div>
// put your code here
</div>
{% endblock %}
或者您有其他解决方案可以解决您的问题,您可以使用 Sonata_Type_Model
->add('subcats','sonata_type_model', array(
'multiple' => true,
'by_reference' => false
))
此解决方案将为您提供一个您喜欢的按钮,用于添加和删除以创建您的子类别