Oldalak, elrendezések, navigáció, változók és átirányítások a Total.js CMS-ben
A CMS minden elrendezés és oldal HTML-jét fájlként tárolja, az adataikat (cím, cím, elrendezés...) pedig az oldal metaadataiban. A nyilvános oldalra érkező kérés cím alapján megkeresi az oldalt, és az elrendezésén belül jeleníti meg.
Elrendezések
Az elrendezés egy teljes HTML dokumentum. Az id="CMS" elem jelöli azt a helyet, ahová az oldal tartalma kerül:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<header>$SITE</header>
<div id="CMS"></div>
<footer>@{year}</footer>
</body>
</html>A Layouts/save a name, icon, color, html mezőket és a scripts listát fogadja, amelyek az elrendezés minden oldalához hozzáadódnak. A HTML-ben a $NAME helyére az ilyen nevű változó kerül (lásd lent), a @{year} helyére pedig az aktuális év.
Oldalak
Az oldalnak van name, layoutid (kötelező), url címe és opcionálisan title, description, keywords, language, parentid, icon, color mezője, valamint disabled, auth, pinned és nocache jelzője. A HTML-je (a pages_save_html hívással mentve) kerül az id="CMS" elembe.
- Ha az
urlüres marad, a CMS a névből készít egyet: aHello World/hello-world/lesz, szülőoldal alatt pedig a cím a szülő címével kezdődik. - A nyilvános oldal akkor szolgál ki egy oldalt, ha az
urlértéke megegyezik a kért címmel, nincsdisabled, és alanguageértéke, ha meg van adva, megegyezik a kérés nyelvével. - A válasz megkapja a
<title>címkét (atitle, vagy aname, utána az oldal neve minden oldalon a/kivételével), a leírást és a kulcsszavakat, egy szkriptet, amely számolja a látogatásokat (/visitors.js), és az oldal által használt widgetek stílusát. autholdalakat csak bejelentkezett látogatónak szolgál ki. A CMS a kódodtól kérdezi meg, ki a látogató: definiáld aFUNC.auth = function($) { ... }függvényt (például adefinitions/egy fájljában), és hívd a$.success(user)metódust. E függvény nélkül mindenki névtelen, és azautholdal 404-et ad.- A letiltott oldal, az ismeretlen cím és egy másik nyelvű oldal 404-et ad. A
/sitemap.xmloldaltérkép a nem letiltott oldalakat listázza.
Változók
A Variables bővítmény NAME: value párok listáját tárolja (Variables|save a vars mezővel). Az elrendezésben vagy oldalon lévő minden $NAME az értékére cserélődik, amikor az oldalt kiszolgálja, ami telefonszámhoz, cégnévhez vagy sok helyen megjelenő hivatkozáshoz hasznos. Az ismeretlen $NAME úgy marad, ahogy le van írva.
Navigáció
A navigáció az adminban leírt menü (egy név és hivatkozások fája name, url, title, icon, color, target, hidden, highlight és children mezőkkel), amelyet az elrendezésed Tangularral írt sablonnal rajzol ki. Tegyél egy szkriptet az elrendezésbe:
<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>Az elrendezés mentésekor létrejön egy main nevű navigáció, ha még nincs; ezután a hivatkozásait a Navigáció bővítményben szerkesztheted. A sablonban a value.children a látható hivatkozások listája, a value.url pedig a kiszolgált cím. Adj a szkriptnek name értéket; csak id-val a fordító elfogadja, de az elrendezés mentése nem ad választ.
Létezik <script type="text/breadcrumb"> is a szülőoldalak útvonalához.
Átirányítások
Az átirányításnak van url, target és permanent mezője. A nyilvános oldal az oldalak előtt ellenőrzi az átirányításokat: a /old/ a /about/ oldalával válaszolt, amikor a célja /about/ volt.
Gyorsítótár
A lefordított oldalak gyorsítótárban vannak; egy oldal, elrendezés, widget vagy változó mentése törli a tőlük függőket, és a kétpercenként futó szolgáltatás a lefordított nézeteket is törli.