= [wiki:DeployerGuide Przewodnik wdrożeniowca] > Praca z szablonami Flexy = #tytul === Menu === #menu 1. [#wprowadzenie Wprowadzenie] 2. [#tworzenie Tworzenie szablonu Flexy i wykorzystanie go w raportach][[BR]] 2.1 [#tworzenie_sql Tworzenie raportu SQL][[BR]] 2.2. [#tworzenie_szablon Tworzenie szablonu Flexy dla raportu][[BR]] 3. [#funkcje Funkcje PHP dostępne w szablonach] == 1. Wprowadzenie == #wprowadzenie Flexy to bardzo szybki i dysponujący wielkimi możliwościami silnik szablonów. Może być używany zarówno w raportach, blokach jak i generowaniu plików zewnętrznych np. do połaczenia z Symfonią. [http://pear.php.net/manual/en/package.html.html-template-flexy.php] ''Przejdź do [#menu Menu]'' == 2. Tworzenie szablonu Flexy i wykorzystanie go w raportach == #tworzenie === 2.1. Tworzenie raportu SQL === #tworzenie_sql Tworzenie raportu z wykorzystaniem Flexy należy rozpocząć od zdefiniowania raportu SQL. W module raporty tworzymy nowy raport. W zakładkę ''Ogólne'' wprowadzamy nazwę raportu, miejsce jego przechowywania. Przechodzimy do zakładki ''Definicja'', gdzie wprowadzamy definicję SQL. W zakładce Wybór kolumn możemy wybrać, jakie kolumny będą wykorzystywane w raporcie. Przykładowo tworzymy raport dla ''Notatek służbowych''. W tym celu tworzymy raport w grupie Dokumenty pt. ''Notatka Służbowa''. W zakładce definicji raportu wprowadzamy SQL-a: {{{ SELECT dv.dscrpt, dv.conten, dv.srctxt, dv.trgtxt, p.symbol||' - '||p.dscrpt as symbol, COALESCE(c.name_2, c.name_1) AS cname_ FROM documents_view dv LEFT JOIN processes p USING (prc_id) --ON (dv.prc_id = p.prc_id) LEFT JOIN doc_link_cont dlc ON (dv.doc_id = dlc.doc_id AND dlc.role__ = 'RELATED') LEFT JOIN contacts c ON (dlc.contid = c.contid) WHERE dv.doc_id = {DOC_ID} }}} Dodatkową funkcjonalnością, którą może być wykorzystana w raportach Flexy są kwerendy. jest to ostatnia zakładka okienka definicji raportu. Parametry takiego raportu muszą być identyczne z parametrami głównego raportu. W odniesieniu do naszego przykładu mogą być to np. kometarze: {{{ SELECT dc.commnt, u.firnam||' '|| u.lasnam as addtxt, to_char(dc.adddat, 'YYYY-MM-DD') AS adddat FROM document_comments AS dc LEFT JOIN users u ON (dc.adduid = u.usr_id) WHERE dc.doc_id = {DOC_ID} ORDER BY dc.adddat ASC }}} Dodatkowy kwerend można zdefiniować dowolną ilość. W tym momencie posiadamy działający już raport === 2.2. Tworzenie szablonu Flexy dla raportu === #tworzenie_szablon Skoro posiadamy już raport SQL teraz należy utworzyć szablon. Czym jest szablon? Otóż jest to plik z rozszerzeniem '''.html''', którego przykładowa zawartość wygląda następująco: {{{
Temat
{resultQueries[0][0][dscrpt]}Treść
{resultQueries[0][0][conten]:h}Załączniki
Komentarze
Dokument od: | {resultQueries[0][0][srctxt]} | Dokument do: | {resultQueries[0][0][trgtxt]} |
Klient: | {resultQueries[0][0][cname_]} | Numer sprawy: | {resultQueries[0][0][symbol]} |