symfony:symfony_tutorial_notes:creating_and_using_templates
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
symfony:symfony_tutorial_notes:creating_and_using_templates [2015/09/16 21:25] – [Output Escaping in Twig] mithat | symfony:symfony_tutorial_notes:creating_and_using_templates [2015/09/16 21:41] (current) – [Including Stylesheets and JavaScripts in Twig] mithat | ||
---|---|---|---|
Line 3: | Line 3: | ||
===== TL;DR ===== | ===== TL;DR ===== | ||
* Templates typically live in '' | * Templates typically live in '' | ||
- | * Third-party bundle templates live in '' | + | * Third-party bundle templates live in '' |
<code twig> | <code twig> | ||
Line 47: | Line 47: | ||
==== Including other Templates ==== | ==== Including other Templates ==== | ||
<code twig> | <code twig> | ||
- | | + | {% for article in articles %} |
- | {{ include(' | + | {{ include(' |
- | {% endfor %} | + | {% endfor %} |
</ | </ | ||
Line 118: | Line 118: | ||
Consider using [[http:// | Consider using [[http:// | ||
- | With Twig, assuming you have a parent: | + | With Twig, assuming you have the parent: |
<code twig> | <code twig> | ||
Line 130: | Line 130: | ||
</ | </ | ||
- | in a child you can add to the assets defined in the parent: | + | in its child you can add to the assets defined in the parent: |
<code twig> | <code twig> | ||
{% extends ' | {% extends ' | ||
Line 152: | Line 152: | ||
===== Configuring and Using the templating Service ===== | ===== Configuring and Using the templating Service ===== | ||
- | TODO | + | <code php> |
+ | return $this-> | ||
+ | </ | ||
+ | is equivalent to: | ||
+ | |||
+ | <code php> | ||
+ | use Symfony\Component\HttpFoundation\Response; | ||
+ | |||
+ | $engine = $this-> | ||
+ | $content = $engine-> | ||
+ | |||
+ | return $response = new Response($content); | ||
+ | </ | ||
+ | |||
+ | It's preconfigured out of the box. Further config is in: | ||
+ | |||
+ | <file yaml app/ | ||
+ | framework: | ||
+ | # ... | ||
+ | templating: { engines: [' | ||
+ | </ | ||
===== Overriding Bundle Templates ===== | ===== Overriding Bundle Templates ===== | ||
- | TODO | + | [[http:// |
==== Overriding Core Templates ==== | ==== Overriding Core Templates ==== | ||
- | TODO | + | [[http:// |
===== Three-level Inheritance ===== | ===== Three-level Inheritance ===== | ||
Line 178: | Line 198: | ||
===== Output Escaping ===== | ===== Output Escaping ===== | ||
- | Output escaping is on by default in Twig, so you're protected. In PHP, output escaping is not automatic, meaning you'll need to manually escape where necessary. | ||
==== Output Escaping in Twig ==== | ==== Output Escaping in Twig ==== | ||
Output escaping is on by default in Twig, so you're protected. By default, the output escaping assumes that content is being escaped for HTML output. To bypass escaping, use the raw filter: | Output escaping is on by default in Twig, so you're protected. By default, the output escaping assumes that content is being escaped for HTML output. To bypass escaping, use the raw filter: | ||
Line 184: | Line 203: | ||
<code twig>{{ article.body|raw }}</ | <code twig>{{ article.body|raw }}</ | ||
- | You can also disable output escaping inside a {% block %} area or for an entire template. See [[http:// | + | You can also disable output escaping inside a '' |
==== Output Escaping in PHP ==== | ==== Output Escaping in PHP ==== | ||
- | Use '' | + | In PHP, output escaping is not automatic, meaning you'll need to manually |
<code php> | <code php> | ||
Line 222: | Line 241: | ||
</ | </ | ||
- | To '' | + | To '' |
===== Syntax Checking ===== | ===== Syntax Checking ===== |
symfony/symfony_tutorial_notes/creating_and_using_templates.1442438706.txt.gz · Last modified: 2015/09/16 21:25 by mithat