С Symfony 2.7 вы можете настроить имя формы в своем классе EntityType с помощью метода getName()
Это теперь устарело. Есть ли другой способ сделать это с Symfony 3.0 ?
У меня есть собственный прототип entry_rows для коллекций, который мне нужно будет использовать в разных формах.
Поскольку имя строк основано на имени формы, мне нужно будет изменить позже, чтобы использовать их в другой форме.
Вы должны реализовать метод getBlockPrefix
вместо getName
как описано в руководстве по миграции здесь .
В качестве примера:
/** * Returns the prefix of the template block name for this type. * * The block prefix defaults to the underscored short class name with * the "Type" suffix removed (eg "UserProfileType" => "user_profile"). * * @return string The prefix of the template block name */ public function getBlockPrefix() { return "form_name"; }
Надеюсь, что эта помощь
В зависимости от того, как создается ваша форма, существуют разные способы задать имя вашей формы.
Если вы создаете форму через $this->createForm(CustomType::class)
:
$formFactory = $this->get('form.factory'); $form = $formFactory->createNamed('custom_form_name', CustomType::class);
Если вы создаете форму с контроллера напрямую через $this->createFormBuilder()
:
$formFactory = $this->get('form.factory'); $form = $formFactory->createNamedBuilder('custom_form_name', CustomType::class);
Посмотрите на API FormFactory и FormBuilder для получения дополнительной информации.