У меня все работает правильно и сейчас пытаюсь работать с темами форм. Это мой код для создания формы без темы.
{% extends 'base.html.twig' %}
{% block body %}
{% include 'menu/menu.html.twig' %}
{% if addpost is defined %}
<div id='add_post_form'>
{{ form_start(addpost) }}
{{ form_widget(addpost) }}
{{ form_end(addpost) }}
</div>
{% endif %}
{% endblock %}
Но когда я добавляю тему формы со следующим кодом
{% form_theme form 'form/form_div_layout.html.twig' %}
Я получаю такую ошибку:
Variable "form" does not exist
Когда я выполняю это без строки, я получаю следующую ошибку:
Unknown "form_help" function. Did you mean "form_rest", "form_end"?
form_div_layout.html.twig содержит код, найденный в Тема формы ветки github symfony
В моем config.yml я добавил в раздел twig следующее:
form_themes:
- 'form/form_div_layout.html.twig'
.
либо нет, у меня все еще есть эта ошибка Чего не хватает ???
Моя файловая структура
Переменная вашей формы - addpost.
Также обратите внимание, что с {% form_theme form _self%} ошибка остается той же




Если все ваши формы будут использовать одну и ту же тему, вам нужно только добавить строку в конфигурацию, но если вам нужна конкретная тема формы в конкретном шаблоне, вы можете использовать тег шаблона.
Причина, по которой вы получаете сообщение об ошибке «форма не определена», заключается в том, что у вас нет переменной с именем form, переданной в шаблон, ваша переменная формы называется addpost, поэтому вам нужно использовать
{% form_theme addpost 'form/form_div_layout.html.twig' %}
Да, я понял. Очень приятно и спасибо. Но теперь я понимаю вторую ошибку. Неизвестная функция "form_help". Вы имели ввиду form_rest, form_end? Если вы можете мне помочь, пусть это будет другая история. Я даю вам поправку
Блок form_help должен быть определен и использоваться в файле form_div_layout. Убедитесь, что у вас действительно есть полный файл. Если вы переопределяете его, проверьте, правильно ли вы вызываете родителя.
что вы имеете в виду, если я отменяю это? я просто называю это {% form_theme addpost 'form / form_div_layout.html.twig'%}. В посте у меня есть ссылка на файл веточки. Это из гитхаба. Это должно быть правильно
Это странно. Вероятно, стоит дважды проверить, что у вас есть весь файл form_div_layout.html.twig, на случай, если некоторые из них будут обрезаны. Если да, то это, вероятно, совершенно новый вопрос.
Удалите тему из конфига. Это не обязательно, так вы сделаете эту тему глобальной, чтобы ее можно было использовать для каждой формы. Если вы не хотите этого делать, то вам не нужно вызывать
form_theme.