์ด๊ฒ์ ์ ํ๋ก ํธ์๋ ์ง์๋ค์ด ์ ๊ฒ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ์ ๋๋ค. ์์งํ ๋งํด์, ์ ๋ ๋ชจ๋ ์ํฉ์ ๋ง๋ ์ข์ ๋๋ต์ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค. ๋ถํํ๋ ๋ฌธ์๋ ๋์์ด๋์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ค์ ์ฝ๋ ๋ธ๋ก์ ๋๋ต ๋์ผํ ์์ ์ ์ํํฉ๋๋ค.
# someFile.html.twig
{% set foo = "Foo!" %}
{% set bar %} {# <-- omit this assignment if you want the default #}
even more bar
{% endset %}
{% include "reused.html.twig" %}
# reused.html.twig
<h1>{{ foo }} </h1>
<p>Some common stuff.</p>
{% if bar %}
{{ bar | raw }}
{% else %}
<p>Default text for bar.</p>
{% endif %}
# someFile.html.twig
{% embed "reused.html.twig" %}
{% block foo %} Foo! {% endblock %}
{% block bar %} {# <-- again, this may be omitted #}
even more bar
{% endblock %}
{% endembed %}
# reused.html.twig
<h1>{% block foo %}{% endblock %} </h1>
<p>Some common stuff.</p>
{% block bar %}
<p>Default text for bar.</p>
{% endblock %}
# someFile.html.twig
{% import "reused.html.twig" as macros %}
{% set bar %} {# <-- omit this assignment if you want the default #}
even more bar
{% endset %}
{{ macros.someBlock("Foo!", bar) }}
# reused.html.twig
{% macro someBlock(foo, bar) %}
<h1>{{ foo }} </h1>
<p>Some common stuff.</p>
{% if bar %}
{{ bar | raw }}
{% else %}
<p>Default text for bar.</p>
{% endif %}
{% endmacro %}
๊ฐ๋ ์ฑ, ๊ฐ๊ฒฐ์ฑ ๋๋ ๋ช ์์ ์ธํฐํ์ด์ค(๋งคํฌ๋ก ์๋ช )๋ฅผ ๊ฐ๋ ์ด์ ๋ฐ ์บก์ํ/๋ฒ์ ์ง์ ๋ณ์์ ์ด์ ์ ํฌํจํ์ฌ ์ด๋ฌํ ๋ชจ๋ ์ ๊ทผ ๋ฐฉ์์๋ ๋ง์ ์ฅ๋จ์ ์ด ์์ต๋๋ค.
๊ถ์ฅ ์ฌํญ์ด ์๊ฑฐ๋ ์ด๋ ๊ฒ์ ์ธ์ ์ฌ์ฉํด์ผ ํ๋์ง์ ๋ํ ์ข์ ๊ฒฝํ ๋ฒ์น์ด ์์ต๋๊น?
๋งํ ํ์๋ ์์ด ์ฌ๊ธฐ์ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ฉด ๋ฌธ์ PR์ ์์ฑํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค :-).
ํฌํจ ๋ ํฌํจ๊ณผ ๊ด๋ จํ์ฌ ๋ ์ฌ์ด์ ์ ํ์ ๊ฐ๋จํฉ๋๋ค. ํฌํจ๋ ํ ํ๋ฆฟ์ ์ผ๋ถ ๋ธ๋ก์ ๋ฎ์ด์จ์ผ ํ๋ ๊ฒฝ์ฐ ํฌํจ์ ์ฌ์ฉํฉ๋๋ค(์ด ํ๊ทธ์ ๋ชฉํ). ๋ธ๋ก์ ๋ฎ์ด์ธ ํ์๊ฐ ์์ผ๋ฉด ํฌํจ์ ์ฌ์ฉํ์ญ์์ค. ๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋์ผํ ์์ ์ ์ํํฉ๋๋ค.
๋ณ์์ ๋ฒ์ ์ง์ ๊ณผ ๊ด๋ จํ์ฌ ์ด๋ ํฌํจ ๋๋ ํฌํจ์ผ๋ก๋ ๊ฐ๋ฅํฉ๋๋ค. http://twig.sensiolabs.org/doc/tags/include.html
๋งคํฌ๋ก์ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด์๋ ์ค์ ๋ก ๋ง์ด ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ต๋ณ์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋งคํฌ๋ก: ๋ง์ ํ
ํ๋ฆฟ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋งํฌ์
ํฌํจ: ๊ฐ๋
์ฑ ๋ฐ ์ฌ์ฌ์ฉ์ฑ์ ์ํด ์ถ์ถ๋ "ํ์ด์ง"์ ์ผ๋ถ
Embed: @stof ๊ฐ ์ ์ฉํ ๋ ์ค๋ช
๋จ(๋ธ๋ก ์ฌ์ ์)
๋๋ ์ด๊ฒ์ด ๊ตฌ์ฑ ์์ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ ๋งคํฌ๋ก/ํฌํจ์ ๋ํ ํฅ๋ฏธ๋ก์ด ๋ธ๋ก๊ทธ๋ผ๊ณ ์๊ฐ ํฉ๋๋ค .
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋งคํฌ๋ก: ๋ง์ ํ ํ๋ฆฟ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋งํฌ์
ํฌํจ: ๊ฐ๋ ์ฑ ๋ฐ ์ฌ์ฌ์ฉ์ฑ์ ์ํด ์ถ์ถ๋ "ํ์ด์ง"์ ์ผ๋ถ
Embed: @stof ๊ฐ ์ ์ฉํ ๋ ์ค๋ช ๋จ(๋ธ๋ก ์ฌ์ ์)