를 사용 타 하나설정 나뭇 가지 변수를 포함하고 포함 나뭇 가지 템플릿 (tplA.twig)가 상상 이후
<p>Twig template A</p>
{% set test = "in tpl A" %}
<p>first, variable is: {{ test }}</p>
{% include "tplB.twig" %}
<p>and the variable is: {{ test }}</p>
및 포함 된 템플릿 (tplB.twig)
<div>Content of tpl B</div>
{% set test = "now is tpl B" %}
포함 된 템플릿에서 변수를 설정/변경하고 마스터 템플릿에서 사용하는 가장 좋은 방법은 무엇입니까? 전역을 사용하는 방법? 블록과 확장을 사용할 수 없으며 Symfony를 사용하지 않습니다.
많은 감사
편집
실제 상황은 아주 기본적인 다국어 구조입니다. 그래서 데이터베이스와의 복잡한 구조를 창조하지 않았다
<h1>{{ i18n('mainTitle') }}</h1>
<h2>current language (fr, en): {{ ln }}</h2>
<!-- here a list of photos, but not in a foreach loop -->
<div>
<div>
<img src="/same/for/all/languages-a.jpg" alt="localized A" />
<span>localized A</span>
</div>
<div>
<img src="/same/for/all/languages-b.jpg" alt="localized B" />
<span>localized B</span>
</div>
<!-- etc. -->
</div>
그것은 매우 작은 웹 사이트이고, 나는 템플릿에이 모든 물건을 관리하는 원 : 페이지, 나는 하나의 마스터 템플릿을 가지고있다.
문제는 : 올바른 지역화 된 문자열을 어떻게 표시 할 수 있습니까? 내가 생각한 것은 우려를 분리하기 위해 지역화 된 템플릿을 포함하는 것이 었습니다. 뭔가 같이 :
<!-- before the photos list -->
{% include ln ~ '/photos-list.twig' %}
<!-- then the photos list -->
그리고이 템플릿 안에, 내가 올바른 로케일에있는 모든 변수를 잘 살고있는 것, 그래서 나는 내 사진 목록에서 사용할 수 있습니다. (내 질문의 첫 번째 부분에서 설명한대로)
나는이 모든 다른 페이지에 대한 구조를 가지고 있습니다. 텍스트 내용 로케일 폴더에 분리되어, 각 페이지는 드디어 사진 목록 전에 hudge 경우 문을 삽입했다 않았다 무엇 마스터 템플릿을 (다시, 그것은 아주 기본적인 개인 웹 사이트입니다)
있습니다. 로케일이 fr 인 경우, 프랑스어 텍스트로 변수를 설정하십시오 (). 영어 텍스트로 변수를 설정하십시오. 트릭을 수행, 그래서 ^^
수 http://stackoverflow.com/questions/36919869/include-a-twig-file-and-pass-variables-from-a-separate-file/37011064#37011064 –