Internet klienti v 602SQL – HTW šablóny
602SQL v súčasnej verzii 8.0 je balík programov obsahujúci SQL server, databázových klientov a ďalšie nástroje. Základné prvky dynamických stránok sú WBC konektory, HTW šablóny a WBS selektory. A práve HTW šablóny si v tomto článku popíšeme.
Syntax HTW šablóny
Ako už bolo spomenuté, HTW šablóna je objekt 602SQL obsahujúci text vo formáte HTML, v ktorom sa nachádzajú príkazy WBIK, ktoré spracováva príslušný internet klient. Každý taký príkaz sa obvykle nachádza vo vnútri detailu sekcie, ktorá je ohraničená elementmi <%begindetail%>
a <%enddetail%>
. Každý detail sekcie prislúcha jednému konektoru. Odkazy na dáta vo vnútri detailu sekcie majú formát <%nazov_stlpca%>
. V odkazoch sa môžu používať operátory a výrazy (v závislosti od typu). Internet klient do výslednej stránky vloží časť HTML stránky ohraničenú elementmi <%begindetail%>
a <%enddetail%>
toľkokrát, koľko záznamov je ako odpoveď na príslušný konektor, na ktorý sa sekcia odvoláva. Ak použijeme nasledujúci výraz, môžeme v časti za <%else%>
určiť, čo sa vypíše v prípade, že príslušný konektor nevrátil žiadny záznam:
<%begindetail nazov_sqlstatementu%>
…
<%else%>
…
<%enddetail%>
Detaily sekcie sa môžu vnárať. V tom prípade je nutné v tabuľkách navrhnúť odlišné názvy stĺpcov v prekrývajúcich sa častiach blokov SQLStatement
, v prípade, že názvy stĺpcov už nemôžete meniť, použite aspoň SQL príkaz AS
.
Po napísaní výrazu <%nazov_sqlstatementu[i].nazov_stlpca%
> WBIK vráti i-ty záznam. Avšak pozor! Výraz <%nazov_sqlstatementu.nazov_stlpca%
> vracia vždy prvý záznam, t.j. <%nazov_sqlstatementu[0].nazov_stlpca%>
. Preto ekvivalentom vyššie uvedeného jednoduchého zobrazenia stĺpca v detaili sekcie <%nazov_stlpca%>
je výraz s využitím systémovej premennej <%nazov_sqlstatementu[currentrecord-1].nazov_stlpca%>
. Takúto syntax je nutné použiť vtedy, ak pred názvom stĺpca uvádzame meno bloku SQLStatement
, napríklad pri už spomínanom zhodnom pomenovaní stĺpcov z viacerých použitých blokov SQLStatement
.
Systémových premenných šablón existuje viac, CurrentRecord
patrí medzi najpoužívanejšie. Ak sa vyskytuje v tele detail sekcie, určuje poradie záznamu, mimo tela vracia počet záznamov bloku SQLStatement
. Počet záznamov bloku SQLStatement
na ľubovoľnom mieste šablóny je možné zistiť aj pomocou výrazu nazov_sqlstatementu#
.
Podmienečné výrazy
V šablóne je možné použiť podmienečné príkazy s nasledujúcou syntaxou:
<%if podmienka1%>
…
<%elseif podmienka2%>
…
<%else%>
…
<%endif%>
Ako podmienka musí byť uvedený výraz typu BOOLEAN (pomenovanie podľa terminológie 602SQL, ide o typ nadobúdajúci dva stavy True alebo False), môžu v nej byť hodnoty stĺpcov, systémové premenné, operátory, funkcie, atď. Špeciálnym prípadom sú premenné predávané z konektora. O nich si povieme neskôr. Podmienky sa tiež môžu do seba vnárať.
Cykly
Cyklus FOR pracuje podobne ako v iných programovacích jazykoch. Jeho syntax je nasledujúca:
<%for premenna:=pociatocna_hodnota to|downto koncova_hodnota step hodnota_kroku%>
…
<%endfor%>
Cyklom FOR môžeme nahradiť detail sekcie. Zodpovedajúca časť predchádzajúcej stránky potom môže vyzerať takto:
<TABLE CELLSPACING=“10″>
<TR>
<TD>AUTOR</TD>
<TD>NÁZOV</TD>
<TD>ROK VYDANIA</TD>
<TD>POČET</TD>
</TR>
<%for i:= 0 to sel_1#-1%>
<TR>
<TD><%sel_1[i].napisal%></TD>
<TD><%sel_1[i].nazov%></TD>
<TD><%sel_1[i].rok_vydania%></TD>
<TD><%sel_1[i].pocet%></TD>
</TR>
<%endfor%>
</TABLE>
Citácie výrazov
V prípade, že chceme formátovať výpis niektorých typov premenných alebo výrazov (napr. reťazce, dátum, čas, desatinné čísla), môžeme použiť tzv. citácie
. Napríklad u textového stĺpca nazov
môžu byť nasledujúce citácie:
- <%nazov;0%> – text sa vypíše tak, ako je (štandardné nastavenie pre <%nazov%>)
- <%nazov;1%> – konce riadkov textu CR+LF sa nahradia <BR>
- <%nazov;2%> – text sa bude vypisovať bez diakritiky
- <%nazov;3%> – text sa bude vypisovať bez diakritiky a konce riadkov textu CR+LF sa nahradia <BR>
U reálneho čísla realnum
sú najpoužívanejšie citácie takéto:
- <%realnum;i%> – kde
i
je číslo kladné alebo záporné. U záporného udáva počet miest za desatinnou čiarkou, u kladného to isté, ale v semilogaritmickom tvare. Štandardné nastavenie pri neuvedení citácie je <%realnum;-3%> - <%realnum;100+i%> – ak je citácia väčšia ako 100, zvyšok nad 100 udáva počet desatinných miest s tým, že tisíce budú oddelené oddeľovačom nastaveným v OS
- <%realnum;-100%> – špeciálny formát s dvoma desatinnými miestami vhodný na zobrazovanie peňažných mien
U dátumu datum
môžu byť citácie nasledujúce:
- <%datum;0%> – mesiac zapísaný číslicou, bez roku
- <%datum;1%> – mesiac zapísaný číslicou a rok (štandardné nastavenie)
- <%datum;2%> – mesiac zapísaný slovom, bez roku
- <%datum;3%> – mesiac zapísaný slovom, a rok
- <%datum;4%> – v dlhom formáte podľa OS
- <%datum;5%> – v krátkom formáte podľa OS
Include
Ak potrebujeme vložiť na určité miesto šablóny napríklad často sa opakujúci blok textu (výsek HTML stránky), môžeme použiť príkaz INCLUDE
:
<%include nazov_www_objektu%>
V takomto prípade internet klient nahradí tag INCLUDE obsahom definovaným v názve www objektu. Volaný objekt by nemal obsahovať základné HTML elementy <HTML>, <BODY> atď, aby nedošlo k ich zdvojeniu. Vo volanom www objekte je možné použiť všetky premenné z volajúceho objektu-šablóny (vstupné premenné aj premenné WBIK), ale žiaľ už nie obsahy selectov z bloku SQLStatement
. Názov vkladaného objektu sa udáva bez prípony (.htw).
Předcházející články
Mohlo by vás také zajímat
-
Od iPhonu po Android: Ultra HDR přináší nový standard fotografií
1. listopadu 2024 -
Vaše pošta může být špatně nastavena – svěřte ji profesionálům
13. července 2023 -
Členská sekce: 4 důvody proč ji mít na svém webu
12. března 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024