Kasutaja tarvikud

Lehe tööriistad


wd:administraatorile:andmetüübihaldus:trükimallid:smarty

Erinevused

Siin näed erinevusi valitud versiooni ja hetkel kehtiva lehekülje vahel.

Lõlita võrdlemise vaatele

wd:administraatorile:andmetüübihaldus:trükimallid:smarty [2015/01/05 10:51]
admin
wd:administraatorile:andmetüübihaldus:trükimallid:smarty [2019/08/08 02:06]
Rida 1: Rida 1:
-====== Trükimallide koostamise juhend Webware Open Office generaatori (X-path) baasil ====== 
- 
-===== Üldine ===== 
- 
-Smarty keelt kasutatakse WebDesktopis trükimallide juures. ​ 
- 
-Kui Smarty keele märke { } (loogelisi sulgusid) tahetakse kasutada teksti sees, siis tuleb need eelnevalt asendada vastavalt "​{"​ => "​{{"​ 
-"​}"​ => "​}}"​ 
-Lisaks tuleb jutumärkide asemel kasutada märke ​ <​nowiki>'''</​nowiki>​ 3 ühekordset jutumärki (ilma jutumärkideta). Ühekordse jutumärgi saamiseks tuleb kasutada märke <​nowiki>''</​nowiki>​ 2 ühekordset jutumärki (ilma jutumärkideta). 
- 
-=== Näide: === 
- 
-==Sisend== 
-<code php>See on siin üks arvude hulk {ldelim}1,​2,​3{rdelim}</​code>​ 
-==Väljund== 
-<code php>See on siin üks arvude hulk {1,​2,​3}</​code>​ 
-Täpsemat infot standardse Smarty süntaksi kohta saate aadressilt http://​smarty.net. 
-\\ 
-\\ 
- 
-===== Path (teekond) ===== 
- 
-Path on teekond elemendini XML-i puus. Lisaks traditsioonilisele X-Path-i syntax-ile saab 
-kasutada nö alampath-e eraldades nad “«” ja “»” märkidega. Näiteks “«objekt_id»”. Alamteekondades saab lisaks tavalisele teekonnale kasutada ka veel nn erifunktsioone: ​ 
-  * glv:viide jadale:​välja nimetus 
-  * type_ename:​tüübi laienduse nimetus 
- 
-=== Näited: === 
- 
-Antud näiteks väärtustatakse lähetatav (lhv) lähetuselt (lh) loetud id (lahetatav_id) kaudu.\\ 
-<​nowiki>//​ Parameeter "​o"​ on vabalt valitud nimetus ja peab kattuma alamteekonnas antuga.</​nowiki>​\\ 
-<​nowiki>//​ Ainuke nõue on, et parameeter ei ole võrdne ühegi nö sisseehitatud parameetriga.</​nowiki>​ 
-<code php>{sle n=lhv 
-p='''​webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_id=''<<​glv:​o:​lahetatav_id>>''​]'''​ 
-o=$lh}</​code>​ 
-<​nowiki>//​ Antud näites leitakse kõik seotud lähetused kasutades tüübi identifitseerimiseks laienduse nime.</​nowiki>​\\ 
-<​nowiki>//​ See on universaalsem lähenemine ning võimaldab lihtsamini malle ühest süsteemist teise üle kanda.</​nowiki>​ 
-<code php>{sle n=lhs 
-p='''​webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_type_id=''<<​type_ename:​Lahetus>​ 
->''​]'''​}</​code>​ 
-\\ 
- 
-===== Tag-id ===== 
- 
-==== opt ==== 
- 
-See tag on mõeldud optimeerimiseks. Programmile on vaja anda “vihjeid”,​ et milliseid tüüpe antud mallis soovitakse kasutada, samuti vajadusel ka välju (näiteks, mis jäävad iflause piirkonda). See hoiab suuresti kokku sisend-XML-i mahtu. Vaikimisi paneb süsteem selle tüübi ID, mille pealt trükkimist alustatakse. St kui soovitakse ainult otseselt samalt andmekaardilt andmeid, siis opt tag-i ei pea kasutama. Samas, kui soovitakse ka seostest andmeid võtta, siis on vaja vastavate seotud tüüpide ID-d määrata. 
- 
-=== Parameetrid:​ === 
-^Nimetus ​   ^ Kirjeldus ^ 
-|tids|Tüübi ID-de loetelu komadega eraldatud| 
-|enames|Tüübi ekspordi nimetuste loetelu komadega eraldatud| 
-|max_depth|Maksimaalne sügavus XML-is. Vaikimisi on see 2. Juhul kui tahetakse näiteks seostest omakorda sügavamale seostesse minna, siis peaks olema max_depth=3 jne| 
- 
-=== Näide: === 
- 
-<code php>{opt tids=27992,​28007,​34111}</​code>​ 
-\\ 
- 
-==== sb ==== 
- 
-See tag on mõeldud baas teekonna määramiseks. Viimast on vaja eelkõige asukoha teekondade kirjelduste lühendamiseks. Kui ühtegi sb tag-i dokumendist ei leita, siis määratakse selleks automaatselt “/​webdk_data/​webdk_item”. 
- 
-=== Parameetrid:​ === 
-^Nimetus ​   ^ Kirjeldus ^ 
-|p|path ehk teekond. Määrab asukoha XML-puus| 
- 
-=== Näide: === 
- 
-<code php>{sb p='''​webdk_item[item_id=''​45676''​]'''​}</​code>​ 
- 
-Määrab, et järgnevad teekonnad on alates item-ist id=4676. 
-\\ 
-\\ 
- 
-==== gv (get value) ==== 
- 
-Seda tag-i kasutatakse väljade sisu kuvamiseks. 
- 
-=== Parameetrid:​ === 
-^Nimetus ​   ^ Kirjeldus ^ 
-|p|path ehk teekond. Määrab asukoha XML-puus| 
-|c|context ehk kontekst. Määrab konteksti, millest alates väärtuse otsingut teostatakse. Vt näidet| 
-|t|type ehk tüüp. Määrab ära välja tüübi. Kui määramata,​ siis kuvatakse täpselt nii nagu on sisendis. Vt tüübid osa| 
-|req|On nõutud. Määrab, kas vastav muutuja on nõutud. Vaikimisi on “true”| 
-|empty|Juhul,​ kui väärtus on tühi või puudu (viimase korral peab req=false), siis antakse selle muutuja väärtus tagasi. Näiteks. {gv p=minuvaartus req=false empty=tühi}.| 
- 
-=== Tüübid: === 
-^Nimetus ​   ^ Kirjeldus ^ 
-|date|Kuupäev ja/või kellaaeg. Määrab ära kuupäeva tüübi, mille abil saab sisendisolevaid kuupäevi erinevatel kujudel esitada. Kuju saab määrata parameetriga fmt| 
-|est_named _date|Kuupäev nn nimetatud kujul eesti keeles. Näiteks “30. oktoober 2008”. Vt näidet.| 
-|musel|Määrab ära, et tegemist on musel väärtusega,​ mis formaaditakse vastavalt parameetritele “musel_sep”,​ “musel_val”. Näiteks. {gv p=MVV t=musel musel_sep=, empty=tühi musel_val=« code »: «value» req=false}| 
- 
-=== Näide: === 
- 
-<code php>​Tüüp:​ {gv p=../​webdk_item_type/​item_type_name_translation/​et} 
-Pealkiri: {gv p=pealkiri} 
-Kuupäev formaadis AAAA-KK-PP: {gv p=reg_date t=date fmt=''​Y-m-d''​} 
-Kuupäev nimetatud formaadis: {gv p=reg_date t=est_named_date}</​code>​ 
- 
-<code php>{sle n=a p=webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item} 
-Esimese seose pealkiri: {gv p=pealkiri c=$a.0}</​code>​ 
-\\ 
- 
-==== sle (set get value) ==== 
- 
-Seda tag-i kasutatakse nn sisemiste loetelude koostamiseks,​ et neid saaks hiljem näiteks 
-Smarty foreach konstruktsiooniga kuvada. 
- 
-^Nimetus ​   ^ Kirjeldus ^ 
-|n|name ehk nimetus. Määrab ära, millise nimega loetelu salvestatakse.| 
-|p|path ehk teekond. Määrab asukoha XML-puus.| 
-|c|context ehk kontekst. Määrab ära konteksti, kust alates astavat teekonda otsitakse. Vaikimisi kasutatakse aktiivset asukohta (näiteks sb-käsuga 
-määratud). c-d kasutatakse eelkõige foreach jms tsüklites alamelementide kuvamisel.| 
- 
-=== Näide: === 
- 
-<code php>{sle n=a p=webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item}</​code>​ 
-\\ 
- 
-==== sl (sort list) ==== 
- 
-Seda tag-i kasutatakse nn sisemiste loetelude (koostatud “sle”-ga) sorteerimiseks. 
- 
-^Nimetus ​   ^ Kirjeldus ^ 
-|n|name ehk nimetus.Funktsiooniga "​sle"​ koostatud loetelu nimi| 
-|p|path ehk teekond. Määrab asukoha XML-puus. See on relatiivne iga loetelus oleva elemendi suhtes.| 
- 
-=== Näide: === 
- 
-<code php>{sle n=a p=webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item} 
-{sl n=a p=pealkiri}</​code>​ 
-\\ 
- 
-==== table ==== 
- 
-Seda tag-i kasutatakse tabelite koostamiseks. 
- 
-^Nimetus ​   ^ Kirjeldus ^ 
-|p|path ehk teekond. Määrab tabeli väärtuste asukoha| 
-|c|context ehk kontekst. Määrab ära alguspunkti,​ kust alates path-i resolvima hakatakse. Seda on vaja kasutada näiteks tsüklis sees “kontekstis” tabelite genereerimisel (vt näidet)| 
-|sort|sorteerimise teekond. Määrab ära teekonna väärtuseni mille järgi sorteeritakse. See teekond peab olema relatiivne tabeli reale.| 
-\\ 
- 
-==== tgv (table get value) ==== 
- 
-Seda tag-i kasutatakse tabeli sisesta väärtuste kuvamiseks. 
- 
-=== Parameetrid:​ === 
- 
-Parameetrid on samad, mis funktsioonil gv, vahega, et kontekstiks on konkreetne tabeli rida. 
- 
-=== Tüübid: === 
-^Nimetus ​   ^ Kirjeldus ^ 
-|date|Kuupäev ja/või kellaaeg. Määrab ära kuupäeva tüübi, mille abil saab sisendisolevaid kuupäevi erinevatel kujudel esitada. Kuju saab määrata parameetriga fmt| 
- 
-=== Näide: === 
- 
-<code php>​{table p=webdk_routing} 
-^Roll^Kes^Ülesanne^ 
-|{tgv n=rt_role_name}|{tgv n=rt_perf_name}|{tgv n=rt_task}| 
-{/​table}</​code>​ 
-\\ 
- 
-===== Globaalsed funktsioonid ===== 
- 
-Globaalseid funktsioone saab kasutada tingimuslausetes jms. 
- 
-=== Parameetrid:​ === 
- 
-^Nimetus ​   ^ Kirjeldus ^ 
-|name|Väljakutsutava funktsiooni nimetus. Tüüpiliselt “gv”| 
-|param1.. paramN|Väljakutsutavale funktsioonile edastatavad parameetrid. “gv” puhul võib olla lihtsalt x-path-i teekond. Vt näidist| 
-\\ 
- 
-===== Muud märkused ===== 
- 
-Ekspordinimes,​ mida kasutatakse trükimallides ei tohi kasutada numbreid. Näiteks “webdk_item/​minuvali2” ei leita, samas “webdk_item/​minuvali_b” leitakse. 
- 
-=== Näited: === 
- 
-<code php> {opt tids=27992,​28007,​34111}{sb p=/​webdk_data/​webdk_item} 
-Tüüp: {gv p=../​webdk_item_type/​item_type_name_translation/​et} 
-Pealkiri: {gv p=pealkiri} 
-Meie nr: {gv p=reg_nr} 
-Teie kuupäev: {gv 
-p='''​webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_id=''<<​reg_nr_odid>>''​]/​reg_kp'''​} 
-Teie nr: {gv 
-p='''​webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_id=''<<​reg_nr_odid>>''​]/​reg_nr'''​} 
-Kuupäev: {gv p=reg_date} 
-Sisu: {gv p=summary} 
-Mitteeksisteeriv muutuja: {gv p=minu_muutuja req=''​false''​}</​code>​ 
- 
-<code php>​Seotud ühe objekti väli (näiteks andmed isikukaardilt):​ 
-{sle n=lh p='''​webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_id=''<<​lahetatav_id>>''​]'''​} 
-{glv i=$lh.0 n=Isik}</​code>​ 
-\\ 
- 
-{table p=webdk_routing} 
-^Roll    ^ Kes ^Ülesanne^ 
-|{tgv n=rt_role_name}|{tgv n=rt_perf_name}|{tgv n=rt_task}| 
-{/table} 
-\\ 
- 
-**Risttabeli väärtuste kuvamine tabelis** 
-{table p=kaubad/​rows/​row} 
-|{tgv n=nimetus}|{tgv n=kogus}|{tgv n=summa}| 
-{/table} 
-\\ 
- 
-<code php>* Seotud väljsaadetavad kirjad (tüübi ID=28007): 
-{sle n=a p='''​webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_type_id=''​28007''​]'''​} 
-{foreach from=$a item=i name=testloop2} 
-{$smarty.foreach.testloop2.iteration}. 
-- ID: {glv i=$i n=item_id} 
-- Tüübi ID: {glv i=$i n=item_type_id} 
-- Nimi: {glv i=$i n=item_name} 
-- Looja: {glv i=$i n=item_creator_name} 
-- Loodud: {glv i=$i n=item_create_time t=date} 
-{/foreach} 
-</​code>​ 
- 
-<code php>* Kõik seotud dokumendid: 
-{sle n=a p=webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item} 
-{foreach from=$a item=i name=testloop3} 
-{$smarty.foreach.testloop3.iteration}. 
-- ID: {glv i=$i n=item_id} 
-- Tüübi ID: {glv i=$i n=item_type_id} 
-- Nimi: {glv i=$i n=item_name} 
-- Looja: {glv i=$i n=item_creator_name} 
-- Loodud: {glv i=$i n=item_create_time t=date} 
-{/foreach} 
-</​code>​ 
- 
-<code php> 
-* Mitme väärtuse valiku välja kuvamine: 
-{sle n=a p=MVV/​selection} 
-{foreach from=$a item=i name=mvv1} 
-{$smarty.foreach.mvv1.iteration}. 
-- Kood: {glv i=$i n=code}{if xpc(“glv”,​$i,​”item_id”) eq “K2”} (Erikood){/​if} 
-- Väärtus: {glv i=$i n=value} 
-{/foreach} 
-</​code>​ 
- 
-<code php> 
-* Mitme kasutaja valiku välja kuvamine: 
-{sle n=b p=MUSEL/​record} 
-{foreach from=$b item=i name=musel1} 
-{$smarty.foreach.musel1.iteration}. {glv i=$i n=name}{if !$smarty.foreach.musel1.last},​ {/if} 
-{/foreach} 
-</​code>​ 
- 
-<code php> 
-* Kompleks variant, kus kaardil on ühe objekti valik ning mis peegeldatakse seostesse (dubleeri seosed). 
-Antud näites on välja ekspordi nimeks "​objekt",​ ehk siis tema ID on tegelikult väljal "​objekt_id"​. 
-Siin on näide, kuidas kuvada infot seotud objektide hulgast võttes aluseks objekt väljal oleva ID. 
-</​code>​ 
- 
-<code php> 
-{gv 
-p='''​webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_id=''<<​objekt_id>>''​]/​item_name'''​} 
-</​code>​ 
- 
-<code php> 
-{table p=webdk_routing} 
-^Roll ^ Täitmisaeg ^ Kellele ^ Resolutsioon ^ Olek (suunamise staatus) ^ Kommentaar / vastus ^ Põhjendus 
-|{tgv n=rt_role_name}|{tgv n=rt_status_time}|{tgv n=rt_perf_name}|{tgv n=rt_task}|{tgv n=rt_status_tr}|{tgv n=rt_task_answer}|{tgv n=rt_answer_comment}| 
-</​code>​ 
- 
-<code php>* Tingimuslik lause: {if xpc(“gv”,​“arv”) eq 77}JAH ON 77{else}EI OLE 77{/​if}</​code>​ 
-<code php>* Tsüklis kontekstipõhiste tabelite genereerimine:​ 
-{sle n=lvvphk 
-p=’webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_type_id=2177]’} 
-{foreach from=$lvvphk item=i}</​code>​ 
-<code php>​Nimetus:​ {glv i=$i n=nimetus}</​code>​ 
-<code php>​Kood:​ {glv i=$i n=kood}</​code>​ 
-<code php>​Alamtabel:​ {table c=$i 
-p=’webdk_relations/​webdk_relation/​webdk_slave_item/​webdk_item[item_type_id=2359]’}</​code>​ 
- 
-^Alamnimetus ​   ^ Kirjeldus^ 
-|{tgv n=nimetus}|{tgv n=kirjeldus}| 
-{/​table}{/​foreach} 
-\\ 
- 
-=== Väljund: === 
- 
-<code php>​Tüüp:​ Saabunud kiri 
-Pealkiri: Kiri Webware OÜ-lt 
-Meie nr: 1.2/11 
-Kuupäev: 15.11.2007 
-Sisu: Teade serveri korralisest hooldusest 
-Mitteeksisteeriv muutuja: 
-Seotud ühe objekti väli (näiteks andmed isikukaardilt):​ Andres Maasikas</​code>​ 
- 
-^Roll   ^ Kes^Ülesanne^ 
-|Teadmiseks|Mait Kauss|| 
-|Vastutav isik|Eero Pealis|Täpsustage palun kuupäev| 
- 
-Risttabeli väärtuste kuvamine tabelis: 
-^Nimetus ​  ^ Kogus^Summa^ 
-|ID-kaadi lugeja|5|500| 
-|Klaviatuur|2|300| 
- 
-<code php>​Seotud väljsaadetavad kirjad (tüübi ID=28007): 
-1. 
-- ID: 34555 
-- Tüübi ID: 28007 
-- Nimi: 4.11/68-1 proovikiri 
-- Looja: Erki Kaldjärv 
-- Loodud: 03.12.2007 
-Kõik seotud dokumendid: 
-1. 
-- ID: 34248 
-- Tüübi ID: 34111 
-- Nimi: dokument 1 
-- Looja: Erki Kaldjärv 
-- Loodud: 03.10.2007 
-2. 
-- ID: 34255 
-- Tüübi ID: 34111 
-- Nimi: dokument 2 
-- Looja: Erki Kaldjärv 
-- Loodud: 06.10.2007 
-3. 
-- ID: 34262 
-- Tüübi ID: 34111 
-- Nimi: dokument 3 
-- Looja: Erki Kaldjärv 
-- Loodud: 06.10.2007 
-</​code>​ 
- 
-<code php> 
-* Mitme väärtuse valiku välja kuvamine: 
-1. 
-- Kood: K1 
-- Väärtus: AAA 
-2. 
-- Kood: K2 (Erikood) 
-- Väärtus: BBB 
-</​code>​ 
- 
-<code php> 
-* Mitme kasutaja valiku välja kuvamine: 
-1. 
-- ID: 123 
-- Nimi: Erki Kaldjärv 
-2. 
-- ID: 2345 
-- Nimi: Ants Kalda 
-</​code>​ 
- 
-<code php> 
-* Kompleks variant, kus kaardil on ühe objekti valik ning mis peegeldatakse seostesse (dubleeri seosed). 
-Antud näites on välja ekspordi nimeks "​objekt",​ ehk siis tema ID on tegelikult väljal "​objekt_id"​. 
-Siin on näide, kuidas kuvada infot seotud objektide hulgast võttes aluseks objekt väljal oleva ID. 
-Minu objekti nimi 
-* Tingimuslik lause: JAH 
-</​code>​ 
- 
-* Tsüklis kontekstipõhiste tabelite genereerimine:​\\ 
-Tavaväärtused:​\\ 
-Nimetus: Toote nimetus Kood: Toote kood\\ 
-Alamtabel:​\\ 
- 
-^Alamnimetus ​ ^ Kirjeldus^ 
-|Alamtoode 1|Pikk kirjeldus 1| 
-|Alamtoode 2|Pikk kirjeldus 2| 
  
wd/administraatorile/andmetüübihaldus/trükimallid/smarty.txt · Viimati muutnud: 2019/08/08 02:06 (väline muutmine)