Настроить форму не работает

Я пытаюсь настроить рендеринг форм в Symfony 3.3.2 (https://symfony.com/doc/2.8/form/form_customization.html).

приложение / ресурсы / просмотры / форма / fields.html.twig

{% block test %}
  <p>TEST</p>
{% endblock %}

приложение / ресурсы / просмотры / по умолчанию / new.html.twig

{% form_theme form 'form/fields.html.twig' %}

{{ form_widget(form.age) }}
{{ block('test') }}

SRC / AppBundle / Контроллер / DefaultController.php

class DefaultController extends Controller
{
    public function indexAction(Request $request)
    {
      $test = new Test();
      $test->setAge(8);

      $form = $this->createForm(TestType::class, $test);

      return $this->render('default/new.html.twig', array(
      'form' => $form->createView(),
      ));
    }
}

src / AppBundle / Entity / Test.php

namespace AppBundle\Entity;

class Test
{
    protected $age;

    public function getAge()
    {
        return $this->age;
    }

    public function setAge($age)
    {
        $this->age = $age;
    }
}

SRC / AppBundle / Форма / TestType.php

class TestType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('age')
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => Test::class,
        ));
    }
}

приложение / config / config.yml

twig:
    debug: '%kernel.debug%'
    strict_variables: '%kernel.debug%'
    form_themes:
      - 'form/fields.html.twig'

Я полагаю, что я что-то неправильно понял, потому что ожидал увидеть ввод с числом 8 в нем и под строкой «ТЕКСТ», но я уверен, что у меня только ввод. Так как же вставить настраиваемый блок в new.html.twig?

Стоит ли изучать 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
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

form_theme - это не способ включения других блоков, это просто стиль с некоторыми соглашениями. Если вам нужно придать стиль форме, просто используйте тему и form_widget. Если вам нужно включить какой-то другой блок, создайте блок (в отдельном файле или даже в том же файле) и выберите между директивой embed и include. Для разницы между embed и include я бы посоветовал прочитать этот ТАК ответ

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