SyMfonAK - vyvíjame databázy pomocou frameworku Symfony

Symfony šablóny (templates)

Z SyMfonAK
Prejsť na: navigácia, hľadanie

Symfony dokumentácia - hlavná stránkaSymfony šablóny (templates)


Vytváranie a využívanie šablón.

Templates - original documentation

Kontrolér vybavuje požiadavky (request) a zvyčajne to končí vytvorením odpovede v šablóne.

V praxi kontrolér deleguje ťažkú prácu na iné miesta, takže kód môže byť testovaný a opakovane využívaný. Ak kontrolér potrebuje vytvoriť HTML, CSS alebo iný obsah, prácu dáva motoru šablón.

V tejto kapitole sa naučíme ako písať šablóny, ktoré zobrazujú odpovede užívateľovi, naplnia obsah e-mailov, naučíme sa skratky, rozumné spôsoby rozširovania šablón a ako opakovane využívať kód.

Šablóny

Typické šablóny sú textové výstup - mix kódov html, php. Symfony prináša silný nástroj twig. V mnohých ohľadoch prináša viac výhod než čísté php. Twig definuje tri typy špeciálnych príkazov:

{{ ... }}

Povedz niečo, zobrazí obsah premennej, výsledku a podobne.

{% ... %}

Vykonaj niečo: je to tag, ktorý kontroluje logiku v šablónach, napríklad cyklus.

{# ... #}

Niečo okomentuj, niečo ako php /* */ komentár, takisto môže byť použitý na viacero riadkov.

Twig prichádza aj s funkciami, ktoré zmenia výstup pred zobrazením, napríklad nasledujúci kód zmení text na veľké písmená:
{{ title|upper }}
. Twig má dlhý zoznam tag-ov, filtrov a funkcií. Môžete si vytvárať vlastné filtre, funkcia (a viac) pomocou twig extension.


Kód sa podobá jazyku php. Napríklad for s funkciou cycle() s ukážkou zobrazenia odlišne párne a nepárne riadky výstupu.

{% for i in 1..10 %}
    <div class="{{ cycle(['even', 'odd'], i) }}">
      <!-- tu príde nejaký HTML kód -->
    </div>
{% endfor %}


Užitočné výpis premennej, poľa

{{  line|json_encode(constant('JSON_PRETTY_PRINT')) }}
{{  dump(line }}

Caching Twig šablón

Dedenie v šablónach a rozvrhnutie

Prispôsobivý web pre mobily

Pre responsívne správanie treba mať v base.html.twig:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Pomenovanie a umiestnenie šablón

Značky a pomocníci (Tags and Helpers)

Nástroje na bežné práce v šablónach. Niektoré tagy už poznáme ({% block %} a {% extends %}).

Vloženie inej šablóny

Prepojenie na stránky (Linking to Pages)

Vytváranie prepojení na iné stránky (link) je veľmi častá práca v prostredí šablón. Namiesto písania celej URL použijeme funkciu path (alebo router PHP pomocníka). Výhoda je zrejmá, zmenou konfigurácie URL nie je treba editovať každé prepojenie.

Ak sme definovali meno hlavnej stránky ako "homepage" prepojenie vyzerá takto:

<a href="{{ path('homepage') }}">Hlavná stránka</a>

.. pre vzhľad pripomínajúci tlačidlo to môže byť aj takto:

<form>
<button formaction="{{ path('homepage') }}">Hlavná stránka</button>
</for>

Prepojenie na (Linking to Assets)

Myšlienky na záver

Naučte sa viac