Přejít na obsah
Skip to main content

Příprava vlastních šablon přehledů

Na data ukládaná v databázi systému flexideo se zobrazují formou přehledů dokumentů v sekci. Přehledy jsou v prohlížeči zobrazovány tak, že jsou načtena XML data na základě dotazu a tato data jsou zobrazena v HTML tabulce pomocí automaticky generované šablony. Tato šablona je, stejně jako dotaz, generována na základě provedených nastavení přehledu v sekci. Pomocí šablony se řeší zejména formátování jednotlivých hodnot, jejich zalamování, zaronávání, ale také řazení, rozdělování do bloků, součty, mezisoučty a způsoby chování při otevírání a zobrazování položek a mnohé další. Někdy se však stává, že je třeba zcela specifického způsobu prezentace dat, se zvláštními nároky na způsob, koncepci či grafickou úpravu zobrazení s příp. úpravou některého chování. V takových případech bývá velmi užitečná uživatelská šablona v sekci. V nastaveních v oblasti G) Další nastavení v sekci je možné v základním způsobu zobrazení na místo výchozího způsobu "běžná tabulka" zvolit "uživatelský vzhled". V takovém případě je třeba dodat soubor se specifickou XSL šablonou. Při dodání šablony je dobré vyjít z výchozí šablony, ktera je ke stažení zde v sekci. Pokud tedy v bodu G) v nastaveních přehledu zvolíte základní typ "uživatelský vzhled", dostanou se vám k dispozici ještě následující volby:

  • => uživatelská šablona: hlavní a povinný údaj sdělující skriptu jméno pužité šablony, která musí být uložena na webovém sídle; výchozí složkou je stylesheets/users a pokud napíšete pouze jméno souboru, bude jej skript brát odtud; jde však možné předřadit i příp. použitou podsložku oddělenou běžným lomítkem;

  • => tvořit hlavičku: tato volba je v podstatě o tom, zda použité sloupce šířkou a pozicí v uživatelském vzhledu odpovídají nastaveným parametrům v bodu B) tak, aby korespondovaly s hlavičkou generovanou v jiném rámu (ta se tím pádem neroluje při delších tabulkách); pokud nekoresponduje nebo je zobrazení nežádoucí, je třeba tuto volbu vypnout (výchozí stav je zapnuto);

  • => netisknout název: - některé uživatelské vzhledy obsahují specifický nebo žádný název pro účely tiskových náhledů a protože název je do tiskového náhledu dodáván skriptem, je možné tuto funkci pro účely tisku vypnout (pro učely běžného procházení název vypnout nelze a je to i nežádoucí kvůli koncepci pracovní plochy);

  • => provádět výběry: - tato volba je standardně zapnutá a jejím důsledkem (nejedná-li se o seskupovaný přehled - viz. bod E) v nastavení přehledu v sekci) je zaznamenávání výbraných položek pro účely zejm. hromadných operací, jako jsou hromadný tisk dokumentů v sekci, makra v sekci, kopírování v sekci, hromadné úpravy v sekci nebo akce v sekci; aby bylo možno tyto záznamy provádět, je třeba dodržet id elementu s typem a klíčem a také ovladače ukazatele myši tak, jak jsou naznačeny ve výchozí šabloně; formát tabulky však dodržen být nemusí;

  • => netřídit: - tato volba má klíčový dopad na data vstupující do transformace a budeme se jím zabývat dále v části třídění dat;

  • => view-debugs: - bývá užitečné ověřit si, jaká XML data vstupují do transformace a jak jsou aktuálně nastaveny kmenové proměnné či parametry uživatelské šablony v okamžiku těsně před transformací; touto volbou vyvoláte dialogová okna s oběma náhledy před každým provedením transformace pro zobrazení; okna disponují i tlačítky OK a Storno, přičemž Storno zastaví zobrazování a vrátí se do původního zobrazení; tyto dialogy se zobrazují pokaždé, dokud není volba v nastaveních vypnuta;

Při vytváření šablony je třeba zohlednit několik základních faktorů. Základem samozřejmě je, jak vypadají podkladová data, na která skript flexideo aplikuje dodanou šablonu. Zde je podstatným faktorem volba "netřídit". V další části se podíváme stručně na to, co vlastně třídění představuje. Další věcí je tisk a html export dat v případě uživatelského vzhledu. Tisk je možné od běžného vzhledu odlišit a to pomocí šablony se jménem printVersion. Tato šablona a vše co je v připraveném souboru pozičně za ní, je při tisku a exportu přenesena do speciální exportní tiskové a šablony a zmíněná šablona bude volána pro vytvoření obsahu tisku. V části technické podpory, kde jsou soubory ke stažení najdete i výchozí šablona uživatelského vzhledu. Zde pak vidíte zmíněnou šablonu, která volá pomocí xsl:for-each instrukce pro každý řádek výsledku šablonu se jménem makeOneRow, jež slouží i pro tvorbu běžného a nikoli jen tiskového, náhledu, jen nastavuje parametr printVers, aby bylo možné i v rámci této šablony sestavit náhled odlišně pro tisk a odlišně pro práci v rámci plochy. Ve zmíněné výchozí šabloně také najdete další části obsluhující např. listování (stránkování) položkami, kdy vše funguje tak, že klient má data již načtena a případně setříděna a jen zobrazuje zvolené úseky. Uživatelský vzhled je aplikován případně i na odfiltrovaná data a zobrazuje tak jen položky odpovídající zadanému filtru v sekci. Výchozí šablona pro stažení rovněž umožňuje i práci se značkami v sekci (flagy) a umožňuje režim zobrazení "jen označené". Na druhou stranu použití uživatelského vzhledu je často spojováno s pevnými náhledy a výběr položek je možné v nastavení vypnout a v samotné šabloně se značkami nepracovat. Rovněž data nemusí být zobrazována v tabulce, ale v jakémkoli jiném HTML tagu, který odpovídá potřebě - např. může jít o čistě textovou prezentaci či zapojení grafů apod.

Podřízené stránky

Třídění XML dat

V procesu zobrazování běné tabulky přehledu dokumentů v sekci dochází k několika fázím. Vezměme to od začátku. Při otevření přehledu jsou nejprve do XML stromu načtena nastavení otevíraného přehledu, pokud se tak nestalo v rámci daného přihlášení uživatele již při předchozí návštěvě. Pokud je požadováno vyčkat na dodatečná zadání v sekci (volba " do dodatečného zadání kritérií bez položek" v bodu G) nastavení přehledu v sekci), nedochází momentálně k načtení dat a je zobrazen výchozí stav přehledu bez položek. Jakmile jsou dodatečná zadání provedena nebo pokud není nastaveno zmíněné vyčkání na jejich zadání, použije se z nastavení přehledu SQL dotaz, případně několik dotazů, pokud jde o skládaný dotaz v sekci nebo přehled založený na rozhraní. Výsledkem je však vždy XML uzel s názvem sql-query-result. Tento hlavní uzel obsahuje jeden nebo několik potomků s názvem result, podle toho, zda byl na vstupu jeden nebo několik dotazů. Každý tag result má svůj atribut type, který obsahuje v případě prosté tabulky a více dotazů daných rozhraním vždy typ dokumentu, na kterém je ten který přehled založen (v případě založení na rozhraní jde o seznam typů dokumentů, které rozhraní zahrnuje). V případě, že jde o pomocnou (nikoli hlavní) tabulku skládaného přehledu, je v typu řetězec obsahující "t-" a za těmito dvěma znaky následuje většinou čtyřmístné id pomocné tabulky skládaného přehledu v sekci (více o XML syntaxi obálky dotazu a odpovědi viz. přímé dotazy v popisu komunikačního protokolu serveru flexideo).