Kintamieji ir papildomos f-jos

  • Globalūs kintamieji 
  • ext2 objektas
  • Funkcijos
  • Modifikatoriai

Globalūs kintamieji

$_GET

$smarty.get

$_POST

$smarty.post

$_SESSION

$smarty.session

$_var

Sisteminiai statiniai specialieji kintamieji. Kintamūjų kiekis yra pakankamai didelis.
{$_var}
{* kelių reikšmių pavyzdžiai: *}
{$_var.week_days.lt.1}
{* reikšmė: 'Pirmadienis' *}

{$_var.week_days.en.1}
{* reikšmė: 'Monday'*}

{$_var.week_days.ru.1}
{* reikšmė: '???????????'*}

$_http_path

Pagrindinis svetainės adresas / domain'as. šio kintamojo reikšmė imama iš "setup.php" konfiguracinio failo.
Sveiki atvyk? ? {$_http_path}

$mail_data

Kintamasis, kuris naudojamas automatiškai siunčiamų elektroninių laiškų šablonuose. Į jį sudedami visi POST metodu siunčiami duomenys, kurių "name" atributas prasideda 'form_data_'.

$data

Pagrindiniai puslapio turinio duomenys. Visi duomenys pateikiami kelių lygmenų asociatyviu masyvu. Kintamojo apimtis yra didelė ir ji gali būti praplečiama naudojant papildomus modulius ir įskiepius.
žemiau pateikiame pagrindinių šio kintamojo narių aprašymų.

$data.active_langs

Šiame kintamūjų masyve yra visos svetainėje naudojamos kalbos. Išjungtos kalbos per TVS į šį masyvą neįtraukiamos.
{foreach from=$data.active_langs item="item"}
  <a href="{$_http_path}/{$item}">{$item|upper}</a>
{/foreach}

$data.search

Paprastosios TVS paieškos duomenys.

$data.path

Kelias iki dabartinio puslapio. Pateikiamas asociatyviu masyvų masyvu, eiliškumo tvarka. Nulinis elementas yra aukščiausias lygmuo, o paskutis elementas į dabartinis puslapis.

$data.page

Einamojo puslapio infromacija. Svarbiausi elementai: $data.page.id, $data.page.name, $data.page.type, $data.page.url.

$data.content

Einamojo puslapio pagrindinė informacija. Duomenys pateikiami tokiu pavidalu:
$data['content'] = array(
    'lauko_pav_0' => array(
    'type' => 'lauko tipas',
    'value' => 'lauko reik?m?',
  ),
  'lauko_pav_1' => array(
    'type' => 'lauko tipas',
    'value' => 'lauko reikšmė',
  ),

//daug kit? lauk?

  'lauko_pav_n' => array(
    'type' => 'lauko tipas',
    'value' => 'lauko reikšmė',
  ),
);

$data.content1

Einamojo puslapio pagrindinė informacija. Pateikta paprastesniu (tuo pačiu ir mažiau informacijos pateikiančiu) formatu, nei $data.content. Duomenys pateikiami tokiu pavidalu
$data['content1'] = array(
  'lauko_pav_0' => 'lauko reikšmė',
  'lauko_pav_1' => 'lauko reikšmė',
//Dar daug lauk?
  'lauko_pav_n' => 'lauko reikšmė',
);

$data.elements

Einamojo puslapio elementai. Puslapis gali ir neturėti elmentų.

$data.rproducts

Einamojo puslapio nekilnojamojo turto produktai. Puslapis gali ir neturėti nekilnojamojo turto objektų

$data.products

Einamojo puslapio produktai (prekės). Puslapis gali ir neturėti produktų.

$data.client

Šiame kintamajame pateikiami prisijungusio vartotojo (jei toks yra) duomenys.

$tree

Svetainės (meniu punktų) medis. Išjungti (disabled) menu punktai nepateikiami

$block

Informacinių bloko pagrindinis duomenų masyvas. Jį galima pasiekti tiktai blokų šablonuose
{* failas:root/templates/guest/blocks/block_text/default.html *}
{$block.data.block_text.value}


ext2 objektas

get_lang_status

Aprašymas:
Aktyvuotos puslapio kalbos. Dubliuoja globalųjį $data.active_langs kintamąjį.

Parametrai: nėra.

{ext2->get_lang_status assign="langs"}
{debug var=$langs}


get_client_fields

Aprašymas:
Prisijungusio vartotojo informacija. Dubliuoja globalųjį $data.client kintamąjį

Parametrai: nėra

{ext2->get_client_fiels assign="client"}
{debug var=$client}


get_client_info

Aprašymas:
Vartotojo informacija pagal jo id.

Parametrai:
  id - vartotojo id.

{ext2->get_client_info id=$user_id assign="client"}
{debug var=$client}

get_comments_fields

Aprašymas:
Puslapio komentarų laukai.

Parametrai:
  id - puslapio, kuriame įdiegti komentarai, id.

{ext2->get_comments_fields id=$data.page.id assign="comments"}
{debug var=$comments}


get_comments

Aprašymas:
Puslapio komentarai.

Parametrai:
  id - puslapio, kuriame įdiegti komentarai, id

{ext2->get_comments id=$data.page.id assign="comments"}
{debug var=$comments}


is_have_comments

Aprašymas:
Gražina 1 jei yra tokio tipo komentarų, 0 - jei nėra.

Parametrai:
  type - tipas pagal kurį ieškosime

{ext2->is_have_comments type=$data.page.type assign="have_comm"}
{ext2->is_have_comments type="news" assign="have_comm_news"}
{if $have_comm}
Komentarai!!!
{/if}
{if $have_comm_news}
Naujienų komentarai!!!
{/if}


get_data

Aprašymas:
Gražina elemento duomenis pagal jo id

Parametrai:
  id - elemento, kurio duomenų reikalausime id.


get_page_info

Aprašymas:
Puslapio informacija pagal jo id. Dažniausiai dubliuoja $data.page. Vartotinas tik tada, kai reikia gauti informaciją apie kitus puslapius.

Parametrai:
  id - puslapio id.


clear_cart

Aprašymas:
Panaikina visas prekias iš prekių krepšelio.

Parametrai: nėra

{if $user_dont_have_money}
  {ext2->clear_cart}
{/if}


get_cart

Aprašymas:
Prekių krepšelio duomenys.

Parametrai: nėra


get_childs

Aprašymas:
Gražina svetainės medžio viršūnės vaikines viršunes.

Parametrai:
  id - viršūnės, kurios vaiką ieškosime, id
  array - struktūra, kurioje iškosime. Jeigu neperduota, ieškoma visame svetainės medyje (globaliam $tree kintamajame).


get_elements

Aprašymas:
Svetainės elementai pagal konteinerio id

Parametrai:
  id - konteinerio, kurio elementų informaciją norime sužinoti, id


get_elements_with_content

Aprašymas:
Svetainės elementai su turiniu pagal konteinerio id

Parametrai:
  id - konteinerio, kurio elementų informaciją norime sužinoti, id
  hide - Jei prilygintas 1, tai gražina tik matomus elementus; o jei 0, tai gražina visus: ir paslėptus, ir nepaslėptus.


get_binary_data

Aprašymas:
Gražina informaciją (priklausomai nuo failo tipo) apie dvejatainį failą.

Parametrai:
  id - failo id, kurio reikalaujame.


paging

Aprašymas:
Gražina struktūrą paruoštą puslapiavimo vaizdavimui. Struktūros sudėtis:
$data.totalelements - viso elementų.
$data.itemsperpage - kiek elementų puslapyje.
$data.totalpages - viso puslapių.

$data.pages.$i.number - i-tojo elemento numeris.
$data.pages.$i.from - nuo kurio elemento vaizduojama i-ajame puslapyje.
$data.pages.$i.to - iki kurio elemento vaizduojame i-ajame puslapyje.

$data.previous_page.number, $data.previous_page.from, $data.previous_page.to - supaprastintas būdas pasiekti prieš tai einančio puslapio duomenis.
$data.current_page.number, $data.current_page.from, $data.current_page.to - supaprastintas būdas pasiekti dabartinį puslapį.
$data.next_page.number, $data.next_page.from, $data.next_page.to - supaprastintas būdas pasiekti kito puslapio duomenis.


Parametrai:
  elements - visi puslapiuojami elementai
  items_per_page - kiek elementu per puslapi (pagal nutylėjimą 10)
  page - dabartinis puslapis (pagal nutylėjimą 1)


count

Aprašymas:
Masyvo elemntų skaičius

Parametrai:
  array - masyvas, kurio elementus skaičiuosime.


array_reverse

Aprašymas:
Apsuka masyvą

Parametrai:
  array - masyvas, su kuriuo dirbsime.


tree_get_last_child

Aprašymas:
Paskutinį medžio viršūnės vaikinę viršūnę.

Parametrai:
  tree - medis, pagal kurį ieškosime.
  parent - viršūnės id, kurios paskutinį vaikinę viršūnę gražinsime.


tree_get_first_child

Aprašymas:
Pirmutinė medžio viršūnės vaikinę viršūnę.

Parametrai:
  tree - medis, pagal kurį ieškosime.
  parent - viršūnės id, kurios pirmutinė vaikinę viršūnę gražinsime.


get_site_settings

Aprašymas:
Puslapio nustatymai

Parametrai: nėra


get_form_by_parent_id

Aprašymas:
Formos duomenys pagal puslapį.

Parametrai:
  page_id - puslapio, kuriame yra forma, id.


block

Aprašymas:
į puslapį sugeneruoja per TVS prisegtą informacinį bloką.

Parametrai:
  id - puslapio, kuriame yra forma, id.
  name - puslapio vardas.
  template - bloko šablono failo pavadinimas.
  type - bloko tipas.

{ext2->block type="block_form" id=$data.page.id name="anketa" template="anketa.html"}


get_path

Aprašymas:
Pagrindinis svetainės adresas / domain'as. Dubliuoja globalūjį $_http_path kintamąjį.

Parametrai: nėra.


aasort

Aprašymas:
Surūšiuoja daugiamatį masyvą pagal perduodamą argumentą\us.

Parametrai:
  array - masyvas, kurį rūšiuosime
  args - masyvo raktai, pagal kuriuos r?šiuosime.
        Raktai atskirti kableliais.
        Prieš kiekvieno rakto vardą turi būti arba '+', arba '-' simbolis.
        šis simbolis nuliamia rūšiavimo kryptį - '+' didėjimo tvarka; '-' mažėjimo tvarka.

{ext2->aasort array=$data.elements args="-news_date_from" assign='newslist'}


get_super_select

Aprašymas:
Ištraukiame administruojamo per TVS select'o laukus.

Parametrai:
  name - lauko pavadinimas.
  parent -tėvinis elementas.

{ext2->get_super_select name="Lauko pavadinimas" parent=0 assign="super_data"}



Funkcijos

assign_array

Aprašymas:
Veikimo principą geriausiai atspindi šis php pseudokodas: $var[$key]['mas'] = value;
Funkcija palikta dėl suderinamumo - patartina vietoje jos naudoti kitas: assign_array2, assign_array3.

Parametrai:
  var - masyvas, su kuriuo dirbsime.
  key - raktas, kurio reikšmę keisime.
  value - naujoji reikšmė.

assign_array2

Aprašymas:
Perduoto masyvo ($var) kopijai pakeičia rakto ($key) reikšmę naująja reikšme($value). Ir jeigu perduotas kintamasis $assign, tai naujasis masyvas priskiriamas pastarąjam. Jeigu neperduota, tai senasis masyvas ($vars) pakeičiamas naujuoju.

Parametrai:
  var - masyvas, su kuriuo dirbsime ir, jeigu neperduotas $assign, masyvas, kuriame atsispindės pakeitimai.
  key - raktas, kurio reikšmę keisime.
  value - reikšmė, kurią priskirsime.
  assign - kam bus priskirtas rezultatas. Jei neperduota - tai reikšmė bus priskirta $vars kintamajam.

assign_array3

Aprašymas:
Veikimo principą geriausiai atspindi šis pseudokodas: $assign[$key] = $value;

Parametrai:
  key - raktas, kurio reikšmė keisime.
  value - naujoji reikšmė, kuri bus priskirta.
  assign - kintamojas, kurio vidinis elementas bus pakeistas.

debug

Aprašymas:
generuoja kodą ekvivalentų php kodui:
echo "<pre>";
print_r($var);
echo "</pre>";

Parametrai:
  var - kintamasis, kurį norėsime "debuginti"

debug2

Aprašymas:
Atlieka tokią pačia funkciją kaip ir debug. Tik vietoje to, kad generuotų visą kintamojo informaciją esančiame lange, sugeneruoja kintamojo išklotinę naujame, iššokančiame lange.

Parametrai:
  var - kintamasis, kurį "debuginsime".

explode

Aprašymas:
Atlieka veiksmus ekvivalenčius php explode funkcijai:
explode($separator, $string);
Jeigu neperduotas parametras default, numeruotus gražinto masyvo raktus pakeičia į jų reikšmes. T.y. [0] = 'a'; [1] = 'b'; bus pakeista į ['a'] = ['a']; ['b'] = ['b']

Parametrai:
  default - ar numeruojami grąžinamo masyvo raktai, ar ne.
  separator - kuris skirtukas bus laikomas naujo elemento pradžia.
  string - teksto eilutė, kurią skaidysime.


header

Apra?ymas:
Įvykdo kodą ekvivalentų php header("Location: $location") kodui. T.y. skirta redirektinimui.

Parametrai:
  location - į kurią vietovę perkelti.

print

Aprašymas:
Pagal puslapio kalbą parenka, kurį tekstą vaizduoti. Jei esamos kalbos kodas nerastas - atspaudina pirmąjį elementą.

Parametrai:
  <kalbos kodą sąrašas>
{print lt="GERAI" en="OK"}

print2

Aprašymas:
Pagal puslapio kalbą parenka, kokį tekstą vaizduoti. Nuo print f-jos skiriasi tuo, kad duomenys traukiami iš duombazės ir tie duomenys gali būti keičiami JustPageIT TVS.

Parametrai:
  lt - būtina perduoti - pagal jį kaupiama informacija.
  <kalbos kodą sąrašas>

unset_session

Aprašymas:
Išvalo sesijos kintamąjį.

Parametrai:
  var - ką išvalysime.
{assign_session var="test" value="TEST"}
{debug var=$smarty.session.test}
{unset_session var="test"}
{debug var=$smarty.session.test}

Modifikatoriai

base64_decode
htmlfix

base64_decode

Atlieka tą patį kaip ir standartinė php funkcija 'base64_decode'.
{assign var="test" value="VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw=="}
{$test} = {$test|base64_decode}

htmlfix

Visas XML žymių vardų raides padaro mazosiomis. T.y. '<HTML>' bus pakeista į '<html>'.