Sidor, layouter, navigation, variabler och omdirigeringar i Total.js CMS
CMS lagrar HTML för varje layout och sida som en fil och deras data (adress, titel, layout...) i webbplatsens metadata. En begäran till den publika webbplatsen hittar en sida via dess adress och renderar den inuti dess layout.
Layouter
En layout är ett fullständigt HTML-dokument. Elementet med id="CMS" markerar platsen där sidans innehåll hamnar:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<header>$SITE</header>
<div id="CMS"></div>
<footer>@{year}</footer>
</body>
</html>Layouts/save tar name, icon, color, html och en lista scripts som läggs till på varje sida i layouten. I HTML ersätts $NAME av variabeln med det namnet (se nedan) och @{year} av innevarande år.
Sidor
En sida har ett name, ett layoutid (obligatoriskt), en adress url och valfritt title, description, keywords, language, parentid, icon, color samt flaggorna disabled, auth, pinned och nocache. Dess HTML (sparad med pages_save_html) hamnar i elementet id="CMS".
- Om du lämnar
urltom skapar CMS en av namnet:Hello Worldblir/hello-world/, och under en föräldersida börjar adressen med förälderns adress. - Den publika webbplatsen serverar en sida när dess
urlär lika med den begärda adressen, den inte ärdisabledoch desslanguage, om satt, är lika med begärans språk. - Svaret får
<title>(titleellername, följt av webbplatsens namn för varje sida utom/), beskrivningen och nyckelorden, ett skript som räknar besöken (/visitors.js) och stilen för de widgetar som sidan använder. auth-sidor serveras bara till en inloggad besökare. CMS frågar din kod vem besökaren är: definieraFUNC.auth = function($) { ... }(till exempel i en fil idefinitions/) och anropa$.success(user). Utan den funktionen är alla anonyma och enauth-sida svarar 404.- En inaktiverad sida, en okänd adress och en sida på ett annat språk svarar 404. Sitemapen
/sitemap.xmllistar sidorna som inte är inaktiverade.
Variabler
Pluginet Variables håller en lista med par NAME: value (Variables|save med vars). Varje $NAME i en layout eller sida blir sitt värde när sidan serveras, vilket är användbart för ett telefonnummer, ett företagsnamn eller en länk som förekommer på många ställen. Ett okänt $NAME förblir som det står skrivet.
Navigation
En navigation är en meny som beskrivs i administrationen (ett namn och ett träd av länkar med name, url, title, icon, color, target, hidden, highlight och children) och ritas av din layout med en mall skriven i Tangular. Lägg ett skript i layouten:
<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>När layouten sparas skapas en navigation som heter main om den inte finns; redigera sedan dess länkar i pluginet Navigation. I mallen är value.children listan över synliga länkar och value.url adressen som serveras. Ge skriptet ett name; med bara ett id accepterar kompilatorn det, men sparandet av layouten ger inget svar.
Det finns också <script type="text/breadcrumb"> för spåret av föräldersidor.
Omdirigeringar
En omdirigering har en url, ett target och permanent. Den publika webbplatsen kontrollerar omdirigeringarna före sidorna: /old/ svarade med sidan /about/ när dess mål var /about/.
Cache
Kompilerade sidor cachas; att spara en sida, layout, widget eller variabel rensar det som beror på dem, och en tjänst som körs var tvåa minut rensar också de kompilerade vyerna.