Template View je jedním z možných přístupů k implementací view v MVC architektuře. Základní myšlenkou tohoto vzoru je vkládání značek do předem připravené HTML šablony. Tyto značky jsou během obsluhy požadavku nahrazeny relevantími daty. Značky jsou styčným bodem mezi programem a šablonou.

Existuje mnoho způsobů, jak reprezentovat značky v šabloně

Zkusím jich pár naznačit.

Striktní HTML

V tomto případě jsou všechny značky tvořeny validními HTML tagy a jsou identifikovatelné podle atributu ID.

HTML:
<br ID="jmenoZakaznika" />

Vlastní tagy

Vlastní tagy se kombinují s HTML kódem.

HTML:
<strong><chyboveHlaseni>Stránku se nepodařilo načíst<chyboveHlaseni></strong><br />

Jednoduchý placeholder

Název značky uzavřeme například do složených závorek.

HTML:
<strong>{jmenoZakaznika}</strong>

Skripty

Využijeme možností ASP, JSP nebo PHP a vložíme do šablony kousek programu.

PHP:
<strong><?=$zakaznik->jmeno()?></strong>

Prezentační logika

Ani v šablonách se nevyhneme troše programování. Často je potřeba vypsat kolekci pomocí cyklu, zvýraznit určitou položku při splnění určité podmínky, zobrazit nějaká data při splnění uřčité podmínky a tak podobně. Nejčistší řešení je zabalit tuto prezentační logiku do helper objektu. Takový helper objekt pak vrací čistý HTML kód a může být také reprezentován značkou v šabloně.

Tlačit nebo táhnout?

Existují dva způsoby jak předat data šabloně. První možností je, nejdříve předat data do view objektu a následně je nechat vyrendrovat do šablony. Druhá možnost je, nejdříve začít rendrovat šablonu a na data se doptávat postupně. Druhá možnost má tu výhodu, že uživateli se stránka začne zobrazovat dříve, protože se nemusí celá najednou předpočítat.