在包含表单的每个页面之前调用函数

时间:2019-05-17 10:29:05

标签: symfony3.x

我需要在包含表单的每个控制器功能之前激活过滤器。 我创建一个TypeExtension

class SoftDeleteTypeExtension extends AbstractTypeExtension{
    protected $em;
   /*
     * Constructor.
     *
     * @param UserManagerInterface $userManager
     */
    public function __construct(ObjectManager $em)
    {
        $this->em = $em;
    }
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $form=$builder->getForm();
        $em=$this->em;
        if (!$em->getFilters()->isEnabled('softdeleteable')){
            $em->getFilters()->enable('softdeleteable');
        }
    }
    public function getExtendedType()
    {
        return FormType::class;
    }
}

但是会为表单中的每个字段调用buildForm。 我测试过$builder->getForm()->isRoot(),但这是真的吗?

谢谢

0 个答案:

没有答案