Seiten, Layouts, Navigation, Variablen und Weiterleitungen im Total.js CMS
Das CMS speichert das HTML jedes Layouts und jeder Seite als Datei und ihre Daten (Adresse, Titel, Layout...) in den Metadaten der Website. Eine Anfrage an die öffentliche Website findet eine Seite anhand ihrer Adresse und rendert sie in ihrem Layout.
Layouts
Ein Layout ist ein vollständiges HTML-Dokument. Das Element mit id="CMS" markiert die Stelle, an der der Inhalt der Seite steht:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<header>$SITE</header>
<div id="CMS"></div>
<footer>@{year}</footer>
</body>
</html>Layouts/save nimmt name, icon, color, html und eine Liste von scripts entgegen, die jeder Seite des Layouts hinzugefügt werden. Im HTML wird $NAME durch die Variable dieses Namens ersetzt (siehe unten) und @{year} durch das aktuelle Jahr.
Seiten
Eine Seite hat einen name, eine layoutid (Pflicht), eine Adresse url und optional title, description, keywords, language, parentid, icon, color sowie die Flags disabled, auth, pinned und nocache. Ihr HTML (gespeichert mit pages_save_html) steht im Element id="CMS".
- Lassen Sie
urlleer, erzeugt das CMS eine aus dem Namen:Hello Worldwird zu/hello-world/, und unter einer Elternseite beginnt die Adresse mit der Adresse des Elternteils. - Die öffentliche Website liefert eine Seite aus, wenn ihre
urlder angefragten Adresse entspricht, sie nichtdisabledist und ihrelanguage, falls gesetzt, der Sprache der Anfrage entspricht. - Die Antwort erhält
<title>(dentitleoder denname, gefolgt vom Namen der Website bei jeder Seite außer/), die Beschreibung und die Schlüsselwörter, ein Skript, das die Besuche zählt (/visitors.js), und den Stil der Widgets, die die Seite verwendet. auth-Seiten werden nur einem angemeldeten Besucher ausgeliefert. Das CMS fragt Ihren Code, wer der Besucher ist: Definieren SieFUNC.auth = function($) { ... }(zum Beispiel in einer Datei vondefinitions/) und rufen Sie$.success(user)auf. Ohne diese Funktion sind alle anonym, und eineauth-Seite antwortet 404.- Eine deaktivierte Seite, eine unbekannte Adresse und eine Seite einer anderen Sprache antworten 404. Die Sitemap
/sitemap.xmllistet die Seiten auf, die nicht deaktiviert sind.
Variablen
Das Plugin Variables hält eine Liste von Paaren NAME: value (Variables|save mit vars). Jedes $NAME in einem Layout oder einer Seite wird beim Ausliefern der Seite zu seinem Wert, was für eine Telefonnummer, einen Firmennamen oder einen Link nützlich ist, der an vielen Stellen vorkommt. Ein unbekanntes $NAME bleibt wie geschrieben stehen.
Navigation
Eine Navigation ist ein im Admin beschriebenes Menü (ein Name und ein Baum von Links mit name, url, title, icon, color, target, hidden, highlight und children), das Ihr Layout mit einer in Tangular geschriebenen Vorlage zeichnet. Setzen Sie ein Skript in das Layout:
<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>Beim Speichern des Layouts wird eine Navigation namens main angelegt, falls sie nicht existiert; bearbeiten Sie dann ihre Links im Plugin Navigation. In der Vorlage ist value.children die Liste der sichtbaren Links und value.url die ausgelieferte Adresse. Geben Sie dem Skript einen name; mit nur einer id akzeptiert der Compiler es, aber das Speichern des Layouts antwortet nicht.
Es gibt auch <script type="text/breadcrumb"> für den Pfad der Elternseiten.
Weiterleitungen
Eine Weiterleitung hat eine url, ein target und permanent. Die öffentliche Website prüft die Weiterleitungen vor den Seiten: /old/ antwortete mit der Seite von /about/, als ihr Ziel /about/ war.
Cache
Kompilierte Seiten werden im Cache gehalten; das Speichern einer Seite, eines Layouts, eines Widgets oder einer Variable leert, was davon abhängt, und ein Dienst, der alle zwei Minuten läuft, leert außerdem die kompilierten Ansichten.