Stránky, layouty, navigace, proměnné a přesměrování v CMS Total.js
CMS uchovává HTML každého layoutu a stránky jako soubor a jejich data (adresa, titulek, layout...) v metadatech webu. Požadavek na veřejný web najde stránku podle adresy a vykreslí ji uvnitř jejího layoutu.
Layouty
Layout je úplný dokument HTML. Prvek s id="CMS" označuje místo, kam jde obsah stránky:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<header>$SITE</header>
<div id="CMS"></div>
<footer>@{year}</footer>
</body>
</html>Layouts/save přijímá name, icon, color, html a seznam scripts, které se přidají ke každé stránce layoutu. V HTML se $NAME nahradí proměnnou s tímto názvem (viz níže) a @{year} aktuálním rokem.
Stránky
Stránka má name, layoutid (povinné), adresu url a volitelně title, description, keywords, language, parentid, icon, color a příznaky disabled, auth, pinned a nocache. Její HTML (uložené přes pages_save_html) je to, co jde dovnitř prvku id="CMS".
- Pokud necháte
urlprázdné, CMS ji vytvoří z názvu:Hello Worldse stane/hello-world/a pod nadřazenou stránkou adresa začíná adresou rodiče. - Veřejný web obslouží stránku, když se její
urlrovná požadované adrese, nenídisableda jejílanguage, pokud je nastaven, se rovná jazyku požadavku. - Odpověď dostane
<title>(titleneboname, následovaný názvem webu u každé stránky kromě/), popis a klíčová slova, skript, který počítá návštěvy (/visitors.js), a styl widgetů, které stránka používá. - Stránky
authse obslouží jen přihlášenému návštěvníkovi. CMS se ptá vašeho kódu, kdo je návštěvník: definujteFUNC.auth = function($) { ... }(například v souboru vdefinitions/) a zavolejte$.success(user). Bez této funkce jsou všichni anonymní a stránkaauthodpoví 404. - Vypnutá stránka, neznámá adresa a stránka jiného jazyka odpovídají 404. Sitemapa
/sitemap.xmluvádí stránky, které nejsou vypnuté.
Proměnné
Plugin Variables uchovává seznam dvojic NAME: value (Variables|save s vars). Každé $NAME v layoutu nebo stránce se při obsluze stránky změní na svou hodnotu, což se hodí pro telefon, název firmy nebo odkaz, který se objevuje na mnoha místech. Neznámé $NAME zůstane tak, jak je napsáno.
Navigace
Navigace je menu popsané v administraci (název a strom odkazů s name, url, title, icon, color, target, hidden, highlight a children) a vykreslené vaším layoutem pomocí šablony psané v Tangular. Do layoutu vložte skript:
<nav>
<script type="text/navigation" name="main">
{{ foreach m in value.children }}
<a href="{{ m.url }}"{{ if m.url === value.url }} class="on"{{ fi }}>{{ m.name }}</a>
{{ end }}
</script>
</nav>Při uložení layoutu se vytvoří navigace s názvem main, pokud neexistuje; poté upravte její odkazy v pluginu Navigace. V šabloně je value.children seznam viditelných odkazů a value.url obsluhovaná adresa. Skriptu dejte name; s pouhým id jej kompilátor přijme, ale uložení layoutu neodpoví.
Existuje také <script type="text/breadcrumb"> pro cestu nadřazených stránek.
Přesměrování
Přesměrování má url, target a permanent. Veřejný web kontroluje přesměrování před stránkami: /old/ odpovědělo stránkou /about/, když byl jeho cíl /about/.
Mezipaměť
Zkompilované stránky se ukládají do mezipaměti; uložení stránky, layoutu, widgetu nebo proměnné vymaže, co na nich závisí, a služba, která běží každé dvě minuty, vymaže i zkompilovaná zobrazení.