Мы наконец обновляемся до Symfony 3, что, однако, вызывает некоторые проблемы.
Текущая проблема, которую я пытаюсь решить, - https://api.symfony.com/2.8/Symfony/Component/Form/FormTypeInterface.html#method_getName, которая устарела.
FormTypeInterface#getName() использовался для создания псевдонима, который использовался в шаблонах форм веточки.
Пример настраиваемого типа формы:
class MyCustomType extends AbstractType {
// ...
public function getName() {
return 'my_custom';
}
}
Пример строки шаблона в Twig:
{% block my_custom_row %}
{# ... #}
{% endblock %}
Вопрос:
Каково соглашение об именах для пользовательских типов форм в Symfony 3+? Т.е. как мне назвать блоки веток, чтобы настроить отображение строки / виджета / ошибки формы?






Блок Twig по умолчанию должен называться класс FormType без суффикса Type. т.е. my_custom_row для блока *_row.
Другой, более индивидуальный способ - добавить функцию getBlockPrefix() (https://api.symfony.com/3.1/Symfony/Component/Form/FormTypeInterface.html#method_getBlockPrefix). Эта функция должна возвращать точно такой же префикс имени блока, что и ранее getName(), но это необязательно и требуется только в том случае, если префикс блока отличается от имени класса.
В Symfony4 также доступна опция формы block_name, которая отменяет значения по умолчанию.