내 나뭇 가지 템플릿이 포함 된 상자의 수가 달라질 수있는 여러 상자에 맞게 내용을 구성하는 이상한 상황이 있습니다. 자식 템플릿에서 n 개의 블록을 정의하는 일반적인 방법을 찾고 있는데 부모는 올바른 번호를 렌더링합니다. 여기 내 아이 템플릿 지금의 모습의 예입니다여러 가지 나뭇 가지 템플릿 블록의 배열 처리
{% extends "layout.participant.html.twig" %}
{% block box_left_title %}Personal Information{% endblock %}
{% block box_left_content %}
content here
{% endblock %}
가있을 수 있음을 고려 하나, 둘 또는 잠재적 5이 쌍 제목/내용 섹션. 내가 상상하는 것은 box_left_title
을 첫 번째 배열 슬롯으로 정의한 다음 부모 템플릿 (layout.participant.html.twig
)을 정의하여 각 블록을 반복하고 필요한만큼 "상자"를 빌드하는 것입니다.
해결 방법 현재 부모 템플릿에 box_left_content_1
, box_left_content_2
등의 블록을 정의한 다음 하위 템플릿에 정의 된 블록 만 정의하는 것이 좋습니다. 작동하는 동안 은이 잘못되었습니다.
여기에 템플릿 상속을 잘못 사용하고 있습니까? 대신 조건부 포함을 조사해야합니까? 이것에 포인터는 대단히 환영받습니다.
업데이트 : 내 질문에 부모 템플릿에 동적 블록이있을 수 있지만 내 질문은 not be possible으로 나타납니다. 나는 합리적인 상한선을 허용하면서 block1
, block2
등을 정의 할 필요가 있다고 믿고 아이들에게 내용으로 블록을 제공 할 필요가있다. 포함하는 것이 바람직한 접근 방식이 아니라고 가정합니다.
이것은 효과가 있습니다 만, 배열의'content' 부분은 html의로드가 될 것이고, 대부분은 twig 변수와 함수를 사용합니다. –
정확하게 이해한다면 box.content 나뭇 가지 코드를 입력하는 것이 좋습니다. 그 점은 당신 아키텍처의 오류를 지적합니다. 템플릿을 사용하려면 일부 데이터에 템플릿 코드를 넣지 않으려 고합니다. 예를 들어 지나치게 단순화하면 백만 개 필드로 그 패턴을 향상시킬 수 있습니다. –