Přeskočit na obsah

A604 — Šablony

Šablona je čistá prezentace nad pohledovým modelem. Sdílené komponenty, vynucené znovupoužití a proč se metadata píšou jen na jednom místě.

A604Inženýrství 11 minVývojář

Po téhle lekci

  • Napíšete šablonu, která čte pohledový model a nic nepočítá.
  • Použijete sdílené komponenty místo vlastního markupu.
  • Vyhnete se ručnímu psaní metadat a tabulek.

Šablony jsou čistě prezentační. Data berou z pohledových modelů (data/generated/views/**), nikdy z ručně psané hlavičky stránky — adaptéry nesou jen routovací obálku.

Sdílené komponenty

SouborK čemu
macros/ui.htmlhlavička stránky, drobečky, dlaždice, prázdné stavy, patička
macros/table.htmljediná tabulková komponenta
macros/meta.htmlsociální a SEO metadata
macros/learning*.htmlprvky vzdělávací vrstvy
partials/jsonld.htmlstrukturovaná data stránky

Co je vynucené

Znovupoužití komponent. Obsahová šablona musí importovat a použít sdílenou UI knihovnu. Výjimky jsou per-soubor a s odůvodněním, ne plošné.

Tabulky přes jednu komponentu. Šablona s <table> mimo tabulkové makro build shodí. Obal navíc nese typ záznamu, který provazuje řádky se strukturovanými daty stránky.

Metadata jen na jednom místě. Žádná šablona nepíše značky pro sociální sítě ručně — vydává je jediné makro podle politiky v datech, a kontrola po sestavení to ověřuje.

Žádný inline style. Utility třídy, ne vlastní atributy. Kontroluje se nad vydaným HTML.

Ověř si, že to sedí

Přidáváte nový typ stránky s vlastní hodnotou `record_type`. Co se stane při sestavení, když nic dalšího neuděláte?

Zobrazit odpověď

Build spadne — a je to tak správně.

Politika metadat je v datech a kontrola po sestavení ji ověřuje obousměrně: každý record_type použitý v obsahu musí mít záznam v konfiguraci a každý záznam v konfiguraci musí být v obsahu použitý. Chybějící ani mrtvý typ tedy neprojde.

Doplnit je potřeba, jaký typ dokumentu to je pro sociální sítě a jaký výchozí typ pro strukturovaná data.

Za zmínku stojí, jak se ta kontrola osvědčila: přibyl typ stránky v jednom úkolu, obousměrná brána vznikla nezávisle v jiném, a build spadl při prvním běhu, kdy se ty dvě věci potkaly. Přesně na tohle ta kontrola je — chytit nesoulad, o kterém nikdo neví, že ho způsobil.

Kanonické znění pojmů

Lekce pojem vysvětluje. Závazná definice je tady — když se rozejdou, platí tahle stránka.