Symfony 3+: настраиваемый шаблон элемента формы

Мы наконец обновляемся до 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+? Т.е. как мне назвать блоки веток, чтобы настроить отображение строки / виджета / ошибки формы?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
286
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Блок 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, которая отменяет значения по умолчанию.

Другие вопросы по теме