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

Next revision
Previous revision
wd:administraatorile:andmetüübihaldus:trükimallid:smarty [2014/08/06 13:34]
admin tekitatud
wd:administraatorile:andmetüübihaldus:trükimallid:smarty [2019/08/08 02:06] (Hetkel kehtiv)
Rida 1: Rida 1:
-====== ​Smarty keel ======+====== ​Trükimallide koostamise juhend Webware Open Office generaatori (X-path) baasil ​====== 
 + 
 +===== Üldine ​=====
  
 Smarty keelt kasutatakse WebDesktopis trükimallide juures. ​ Smarty keelt kasutatakse WebDesktopis trükimallide juures. ​
Rida 5: Rida 7:
 Kui Smarty keele märke { } (loogelisi sulgusid) tahetakse kasutada teksti sees, siis tuleb need eelnevalt asendada vastavalt "​{"​ => "​{{"​ 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 ​"'''​" (3 ühekordset jutumärki (ilma jutumärkideta). ​ +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).
-Ühekordse jutumärgi saamiseks tuleb kasutada märke ​"''​". Kaks ühekordset jutumärki (ilma jutumärkideta).+
  
-=== Näide ===+=== Näide===
  
 ==Sisend== ==Sisend==
-See on siin üks arvude hulk {ldelim}1,​2,​3{rdelim}+<code php>See on siin üks arvude hulk {ldelim}1,​2,​3{rdelim}</​code>​
 ==Väljund== ==Väljund==
-See on siin üks arvude hulk {1,2,3}+<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. 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>​
 +
 +==== Suunamiste info ====
 +
 +
 +{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 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.1407321265.txt.gz · Viimati muutnud: 2019/08/08 02:06 (väline muutmine)