symfony 양식을 렌더링하기 위해 나뭇 가지에 약간의 문제가 있으므로 먼저이 컨텍스트를 설명합니다.Symfony Twig 블록 생성 우선 순위
나뭇 가지에서, 블록 템플릿을 특정 순서로 정의됩니다
{# base.layout.html.twig #}
{% block firstBlock %}
{% endblock firstBlock %}
{% block secondBlock %}
{% endblock secondBlock %}
을 그리고 우리는이 템플릿을 확장 할 때 우리가 쓸 수 있습니다 : 그래서 문제가 양식입니다
{# child.layout.html.twig #}
{% embed "base.layout.html.twig" %}
{% block secondBlock %}
{{ form_widget(form.submit_button) }}
{% endblock secondBlock %}
{% block firstBlock %}
{{ form_widget(form.some_field) }}
{{ form_rest(form) }}
{% endblock firstBlock %}
을()는 Symfony 양식을 렌더링하는 나뭇 가지에서 작동합니다.
모달 윈도우의 맨 끝에 제출 버튼을 생성하려고하는데, 문제는 이미 form_rest()가 렌더링되지 않은 모든 부분을 렌더링한다는 것입니다.
는 form_rest가 form.submit_button을 렌더링하기 위해 피하기 위해 약간의 수정이 있습니다, 그것은과 이미 렌더링 된 필드로 form.submit_button 설정입니다 :
{% do form.submit_button .setRendered %}
하지만 렌더링되지 않습니다이 form.submit_button와
물론이 모든 것의 최종 목적은 form_rest 명령을 제거하지 않는 것입니다.
그래서 form_rest 명령 다음에 form.submit_button의 렌더링 된 값을 설정 해제하거나 무언가를 검색하여 템플릿의 블록 생성 순서를 선택하는 것이 더 좋습니다. 이처럼
:
{% block secondBlock with(1) %}
{{ form_widget(form.submit_button) }}
{% endblock secondBlock %}
{% block firstBlock with(2) %}
{{ form_widget(form.some_field) }}
{{ form_rest(form) }}
{% endblock firstBlock %}
는 당신의 도움을 주셔서 감사합니다!
당신이 추가하면'{{form_rest (양식)}}'secondBlock''에? – sakhunzai
@sakhunzai 만약 내가 이렇게하면 내 견해를 망칠 것입니다. 문제는 템플릿의 주어진 위치에 모든 양식 필드를 렌더링 한 다음 동일한 템플릿의 더 낮은 위치에 제출 버튼을 렌더링하는 것입니다. 그래서 몸체'블록'(이 예제에서는'firstBlock')과'footer' 블록 ('secondBlock') – Tanaky
다음 알란 티 lo로가 제안한 내용을 확인하십시오 – sakhunzai