ForgeCMS
hu

CMS

Oldalak, elrendezések, navigáció, változók és átirányítások a Total.js CMS-ben

CMS · cms@8071e48 cmspageslayoutsnavigationredirectsvariablessitemap

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: a Hello 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, nincs disabled, és a language értéke, ha meg van adva, megegyezik a kérés nyelvével.
  • A válasz megkapja a <title> címkét (a title, vagy a name, 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.
  • auth oldalakat csak bejelentkezett látogatónak szolgál ki. A CMS a kódodtól kérdezi meg, ki a látogató: definiáld a FUNC.auth = function($) { ... } függvényt (például a definitions/ egy fájljában), és hívd a $.success(user) metódust. E függvény nélkül mindenki névtelen, és az auth oldal 404-et ad.
  • A letiltott oldal, az ismeretlen cím és egy másik nyelvű oldal 404-et ad. A /sitemap.xml oldalté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.

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.