Šablonas (template) šioje sistemoje – tai html (arba xhtml, arba koks tik norite (turi būti tekstinis)) dokumentas su specialiomis žymomis, nurodančiomis sistemai ką daryti (pvz. įrašyti/pašalinti tam tikroje vietoje tekstą, patikrinti kažkokią sąlygą ir panašiai).

Šablono failo vieta/vardas nurodomi nustatymų faile. Taip atrodo paprastas xhtml šablonas (parsisiuntę šią TVS, rasite šios svetainės šabloną):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
 <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
 <title><val MAIN_TITLE></title>
</head>
<body>
<h1><val MAIN_TITLE></h1>
<hr />
<for AR in ARTICLES>
<div>
<h2><val AR.title></h2>
<val AR.body>
</div>
</for>
</body>
</html>

Sintaksė

<block KINTAMASIS>TEKSTAS</block>
Vietoje šios konstrukcijos įrašoma tuščia vieta, o kintamajam KINTAMASIS priskiriama reikšmė TEKSTAS.
<for I in KINTAMASIS>TEKSTAS</for>
Jeigu KINTAMASIS yra masyvas arba struktūra, vietoje šios konstrukcijos įrašoma tiek TEKSTAS pasikartojimų, kiek yra elementų, kiekvieną I pakeičiant į KINTAMASIS.einamasis_indeksas. Taip pat kiekvienas I_CNT pakeičiamas į einamojo karto numerį, pradedant nuo 1. Jeigu KINTAMASIS nėra nei masyvas, nei struktūra, vietoje šios konstrukcijos įrašoma tuščia vieta.
<val KINTAMASIS>
Vietoje šios konstrukcijos įrašoma kintamojo KINTAMASIS reikšmė.
<count KINTAMASIS>
Jeigu KINTAMASIS yra masyvas arba struktūra, vietoje šios konstrukcijos įrašomas jos elementų skaičius, kitu atveju – '0'.
<if 'REIKŠMĖ' /IŠRAIŠKA/>TEKSTAS</if>
Jei tekstas REIKŠMĖ atitinka reguliariąją išraišką (regular expression) IŠRAIŠKA, tai vietoje šios konstrukcijos įrašomas tekstas TEKSTAS, kitu atveju – tuščia vieta.

Šablonas apdorojamas tokia tvarka, kokia aukščiau yra išvardintos konstrukcijos t.y. vykdant, pavyzdžiui, if sakinius, jau bus pakeistos visos kintamųjų konstrukcijos jų reikšmėmis ir t.t.

Didžiosios ir mažosios raidės skiriasi.

Ciklų cikluose cikluose, blokų blokuose blokuose blokuose ir kitų dalykų gylis neribojamas.

Kintamieji

Kintamųjų vardai turi būti sudaryti iš didžiųjų/mažųjų raidžių, skaitmenų ir _ ženklo. Struktūrų ir masyvų indeksai atskiriami tašku. Yra trijų tipų kintamieji:

Tekstiniai
Tai paprasti kintamieji, įgyjantys kažkokią tekstinę reikšmę.
Masyvai
Tai sutvarkyto eiliškumo bet kokio tipo kintamųjų rinkiniai. Kintamieji pasiekiami nurodžius indeksą, kuris prasideda nuo 0.
Struktūros
Tai, kaip ir masyvai, bet kokio tipo kintamųjų rinkiniai, tačiau jų eilės tvarka – neapibrėžta. Kintamieji pasiekiami nurodžius indeksą, kuris sudaromas pagal tas pačias taisykles kaip ir kintamųjų vardai.

Sisteminiai kintamieji

Be kintamųjų, gautų iš svetainės turinio, sistema sukuria šiuos:

Pavadinimas Tipas Aprašymas
LANG tekstinis kalbos, kuria dabar rodoma svetainė, kodas (šiuo atveju LANG = '').
LANGS masyvas reikšmės – tekstiniai kintamieji, atitinkantys visas kalbas, kuriomis galima parodyti svetainę (šiuo atveju LANGS = [, '']).
PAGE struktūra informacija apie dabar rodomą puslapį. Šiuo atveju:
  • PAGE.name = '' (puslapio pavadinimas)
  • PAGE.link = '' (nuoroda, kuria pasiekiamas puslapis)
  • PAGE.current = '' ('true', jei puslapis yra dabartinis, kitaip 'false')
  • PAGE.inpath = '' ('true', jei puslapis yra kelyje, kitaip 'false')
  • PAGE.subpages = [] (masyvas, sudarytas iš PAGE tipo struktūrų, aprašančių šio puslapio subpuslapius)
Ši struktūra taip pat turi elementus, aprašytus turinyje.
PAGES masyvas PAGE tipo struktūros, nešančios informaciją apie šakninius svetainės puslapius.
PATH masyvas PAGE tipo struktūrų, nešančios informaciją apie dabartiniame kelyje esančius puslapius nuo šakninio iki dabartinio.
ENCODING tekstinis puslapyje naudojama koduotė (nurodyta config.xml, šiuo atveju ENCODING = '')
POWERED tekstinis nuoroda į šios TVS svetainę, kurioje parašytas pavadinimas ir versija (žr. puslapio apačioje). Jei norite, galite patalpintį ją savo puslapiuose :-)