0 HTML šablna v MarushkaDesignu
OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGN...4-1 -
1 Cíl příkladu V tmt příkladu si ukážeme nastavení infrmačníh dtazu s HTML šablnu v MarushkaDesignu. Příklad byl vytvřen ve verzi 4.0.1.0 a nemusí tedy být kmpatibilní se staršími verzemi. 2 Práce s příkladem D slžky c:\marushkaexamples\ rzbalíme bsah subru HTMLTemplate_CZ.zip. Cílvu slžku je nutné respektvat kvůli prvázansti cest s prjektem. V případě umístění subrů d jiné cesty by nebyl mžné s příkladem pracvat. V prstředí MarushkaDesignu tevřeme prjekt HTMLTemplate_CZ.xml. Označíme frmální vrstvu GS_TABLE, v kntextvém menu vybereme Data Načti vše: V mapvém kně zvlíme zbrazit Vše : Spustíme lkální webvý server: - 2 -
3 Ukázka dialgvéh kna Obr 1: Výsledek infrmačníh dtazu Infrmace Obr 2: Výsledek infrmačníh dtazu Infrmace HTML - 3 -
4 Stručný ppis příkladu v MarushkaDesign Testvací příklad bsahuje databázi v SQLite, ve které je jedna publikační vrstva. V datvém zdrji je jedna frmální vrstva dkazující se na fyzicku vrstvu (databázvu tabulku). Nsitelem dat je fyzická vrstva (databázvá tabulka) GS_TABLE. Fyzická vrstva GS_TABLE má ve vlastnsti DBClumnsTClient pmcí příkazu SET_INFO_ICON_TEXT nastaven text infrmační ikny, zde je t knkrétně slupec NAME. Pmcí příkazu SET_INFO_ICON_LABEL je nastaven ddatečný ppisek infrmační ikny, který se zbrazí p najetí kurzru myši, zde je t knkrétně ppisek při n muse. Prjekt bsahuje 2 infrmační dtazy v knihvně dtazů. Prvním dtazem je dtaz Infrmace, který vybere a zbrazí všechny záznamy elementu s ID dpvídajícím ID vybranéh elementu a vypíše je ve vyskakvací bublině. Definice tht dtazu je uvedena ve vlastnsti dtazu SlqStmtTemplate, jeh hdnta je: SELECT * FROM GS_TABLE WHERE ID=~(lng)ID~. Druhý dtaz je nazván Infrmace html, jeh výsledek je zbrazen ve vyskakvací bublině (typ umístění výsledku definuje vlastnst ViewStyle). Vlastnst SqlStmtTemplate (cž je SQL šablna dtazu) definuje samtný infrmační dtaz. SQL výraz je ve tvaru: SELECT <seznam slupců> where ID=~ID~ kde ID je identifikátr grafickéh elementu. V našem knkrétním případě je SqlStmtTemplate definván následujícím výrazem: SELECT name "NAZEV", id "JINYNAZEV", VIDEOURL "URL" FROM GS_TABLE WHERE id=~(lng)id~. Tedy z grafické tabulky GS_TABLE pr vybraný grafický element vybíráme slupec name pd aliasem NAZEV slupec ID pd aliasem JINYNAZEV a slupec VIDEOURL pd aliasem URL. Pkud jsme tent dtaz v tét pdbě testvali, dstali bychm, jak výsledek tabulku, kde v pravé části jsu jména vybraných slupců (aliasů) a v levé části tabulky hdnty vybranéh řádku. Ve vlastnsti ResultTemplate však máme definvanu tzv. HTML šablnu, pmcí které můžeme výsledek sql dtazu přefrmátvat tak, že z byčejné textvé tabulky (v předcházejícím dtazu) jsme schpni definvat (vysázet/zalámat) buď slžitější HTML dkument, neb dknce genervat interaktivní webvu stránku s funkčními JavaScripty a definicemi CSS stylu. Výsledek infrmačníh dtazu p substituci výsledku SQL dtazu d HTML šablny je kmpletní a hlavně standartní HTML stránka, takže mezení vzhledu a funkčnsti je limitván puze mezením HTML, JAVASCRIPTU a CSS. HTML šablna, jak již byl řečen, je standardní HTML stránka bsahující dvě speciální značky a t ~DETAIL~ a ~DETAIL_END~. Tyt značky nám rzdělují dkument na tři části a t: a) Hlavičku HTML dkumentu tj. část d začátku p značku ~DETAIL~ b) Těl dkumentu tj. část d značky ~DETAIL~ p ~DETAIL_END~, pkud SQL výraz vrací více než jeden záznam, tak se těl dkumentu pakuje pr každý záznam. Těl dkumentu může dále bsahvat speciální značky pr substituci aliasů výsledku SQL dtazu, tyt značky jsu ve tvaru ~JMENO_ALIASU~ c) Patičku dkumentu tj. ~DETAIL_END~ až pslední znak šablny. Samtná substituce pak prbíhá tak, že výsledná HTML stránka je definvána slžením hlavičky dkumentu. Dále pr každý řádek výsledku SQL dtazu se připjí jedn těl dkumentu (tj. část mezi značkami detail a end_detail). Pr každý slupec s aliasem ALIAS_SLOUPCE výsledku SQL dkumentu se pak prvádí substituce. Tj. v těle dkumentu se nahradí řetězec ~ALIAS_SLOUPCE~ za jeh aktuální hdntu zpracvávanéh řádku. Pkud se v textu těla dkumentu řetězec ~ALIAS_SOUPCE~ nenajde, nic se neděje a substituce se pr daný slupec neprvede. Následně je připjena patička dkumentu. V hlavičce dkumentu lze rvněž definvat značky ~ALIAS_SLOUPCE~ v tmt případě se prvádí substituce hdnt prvníh řádku výsledku SQL dtazu. V našem aktuálním případě těl dkumentu bsahuje následující značky: ~NAZEV~, ~JINYNAZEV~ a ~URL~, tyt značky jsu nahrazeny hdntami výsledku. Výsledná HTML zbrazí k příslušnému prvku - 4 -
záznamy: JMÉNO SLOUPCE: v něm je hdnta aliasu ~NAZEV~ (knkrétně hdnta bbb), DALŠÍ HODNOTA: v něm je hdnta aliasu ~JINYNAZEV~ (knkrétně hdnta 5) a iframe s URL na vide (knkrétně hdnta By1JQFxfLMM, cž je klíčvá část kódu URL stránky). - 5 -