【发布时间】:2017-01-23 13:23:11
【问题描述】:
我正在寻找一种扩展 Symfony 2 EntityType 的方法
Symfony\Bridge\Doctrine\Form\Type\EntityType
作为扩展这个类型的新类型,而不是创建FormTypeExtension - 我无法弄清楚。有谁知道这样做的正确方法吗?
我尝试过以这种方式简单地扩展它:
class NestedEntityType extends EntityType {
public function getName() {
return $this->getBlockPrefix();
}
public function getBlockPrefix() {
return 'nested_entity';
}
}
然后在奏鸣曲管理课上我有:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper->add('types', NestedEntityType::class, [
'label' => false,
'multiple' => true,
'expanded' => true,
'by_reference' => false
]);
}
但不幸的是它会导致致命错误:
可捕获的致命错误:参数 1 传递给 Symfony\Bridge\Doctrine\Form\Type\DoctrineType::__construct() 必须 实现接口 Doctrine\Common\Persistence\ManagerRegistry,无 给定的,调用的
我需要保留EntityType 的全部功能,但有一个例外 - 它的呈现方式。这就是为什么我需要扩展这个类型(我在其他领域使用它,所以我不能只为它修改模板!)。
我正在使用 Symfony 2.8(仅作记录)。
【问题讨论】:
标签: php symfony doctrine-orm sonata-admin symfony2-forms