5491
Comment:
|
← Revision 15 as of 2024-04-11 11:47:16 ⇥
0
spam
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Formuláre = <<Pozor>> Momentalne nejde. Je to dlhodobo neudrzovane, zrejme to uz ani nepojde. <<Pohov>> Aby ste toto tu porozumeli, musíte mať približnú predstavu o tom, čo to je HTML formulár a ako funguje. == Čo to je == Formuláre do MoinMoin dorobil v rámci bakalárskej práce študent FEI STU Peter Bódi. Sú implementované ako sústava špeciálnych [[HelpOnMacros|makier]] a [[HelpOnActions|akcií]], ktoré umožňujú autorom wiki stránok (teda aj Vám) umiestniť na stránku formulár, ktorý slúži na zber údajov. == Na čo je to dobré == Typické aplikácie v našich podmienkach sú zrejme: * zbieranie vypracovaných zadaní od študentov * registrácia na konferenciu. == Pôvodný zdroj == Pôvodná dokumentácia a aj zdrojové kódy sú na týchto stránkach * http://moinmo.in/ActionMarket/FormSubmit * http://moinmo.in/MacroMarket/FormCreate == Príklady == Toto je formulár, ktorý umožní zbierať komentáre od návštevníkov tejto stránky. {{{ <<FormHeader(submitcsv,targetfile=komentare.csv)>> || Meno: || <<FormText(Meno,maxlength=20)>> || || Priezvisko: || <<FormText(Priezvisko,maxlength=30)>> || || Komentár: || <<FormTextarea(Komentar,rows=10,cols=20)>> || <<FormSubmit(Zaslať)>> <<FormFooter()>> }}} <<FormHeader(submitcsv,targetfile=komentare.csv)>> || Meno: || <<FormText(Meno,maxlength=20)>> || || Priezvisko: || <<FormText(Priezvisko,maxlength=30)>> || || Komentár: || <<FormTextarea(Komentar,rows=10,cols=20)>> || <<FormSubmit(Zaslať)>> <<FormFooter()>> Nazbierané údaje sú uložené tu: [[attachment:komentare.csv]] == Ďalšie príklady == * [[FormularPrikladZadania|Zber zadaní]] * [[FormularPrikladKonferencia|Registrácia na konferenciu]] == Ako sa to používa == Dokumentácia je pomerne strohá, preto sa tu pokúsim vysvetliť, o čo ide. Ak chceme zbierať dáta nejakým formulárom musia nám byť dopredu jasné dve veci. 1. Aké dáta chceme zbierať. 1. Čo s nimi po zaslaní robiť. Najprv sa venujme druhému bodu. === Čo s dátami po zaslaní === Bódiho systém umožňuje urobiť s dátami dve veci (aj obe naraz). 1. Poslať ich v e-maile na nejakú adresu. 1. Uložiť ich do súboru typu [[http://en.wikipedia.org/wiki/Comma-separated_values|CSV]], ktorý je v prílohe nejakej stránky. ==== FormHeader ==== Na určenie toho, čo s dátami po zaslaní, slúži makro `FormHeader`. ==== Akcia submitemail ==== Ak chceme obsah formulára posielať na adresu konferencia@math.sk, uvedieme takéto parametre {{{ <<FormHeader(submitemail,targetemail=konferencia@math.sk>> }}} ==== Akcia submitcsv ==== Ak cheme, aby sa dáta ukladali do súboru `data.csv` priloženého k tej stránke, na ktorej je formulár, uvedieme takéto parametre {{{ <<FormHeader(submitcsv,targetfile=data.csv>> }}} To však znamená, že obsah súboru `data.csv` si môžu všetci záujemci prečítať, čo nie je vždy žiadúce. Ak chceme, aby sa dáta ukladali do súboru `data.csv` priloženého k stránke `!SecretData`,uvedieme takéto parametre. {{{ <<FormHeader(submitcsv,targetfile=data.csv,targetpage=SecretPage>> }}} !SecretPage potom nastavíme ako [[InterneStranky|internú stránku]]. <<Pozor>> CSV súbory sa dajú importovať do !OpenOffice, a uložiť potom ako XLS. Kódovanie diakritiky je UTF-8. Myslím, že to ide importovať aj priamo do Excelu. <<Pohov>> ==== Akcia submitattachment ==== Ak chceme od užívateľov abu nám nielen vyplnili formulár, ale aj zaslali nejaké súbory (vypracované zadania, abstrakty na konferenciu), musíme použiť akciu submitattachment. Toto {{{ <<FormHeader(submitcsv,submitattachment,targetfile=data.csv)>> }}} zabezpečí, že sa zaslané súbory uložia ako prílohy na stránku, na ktorej je formulár. Ostatné položky formulára sa uložia do prílohy `data.csv`. Je možné aj v tomto prípade uviesť {{{targetpage=SecretPage}}}, dáta potom pôjdu tam. === Aké dáta chceme zbierať === Všetky podporované formulárové elementy sú tu (Formulár nie je funkčný, lebo nemá `FormHeader` ani `FormFooter` {{{ || First name: || <<FormText(First name,maxlength=50)>> || || Last name: || <<FormText(Last name,maxlength=50)>> || || Gender: || Male<<FormRadio(Gender, Male)>> Female<<FormRadio(Gender, Female)>> || || Status: || <<FormSelect(Status, Single, Married, Divorced)>> || || Children: || <<FormCheckbox(Children, Yes, No)>> || || Note: || <<FormTextarea(Note, rows=10, cols=20)>> || || Attachment: || <<FormUpload(Attachment)>> || }}} || First name: || <<FormText(First name,maxlength=50)>> || || Last name: || <<FormText(Last name,maxlength=50)>> || || Gender: || Male<<FormRadio(Gender, Male)>> Female<<FormRadio(Gender, Female)>> || || Status: || <<FormSelect(Status, Single, Married, Divorced)>> || || Children: || <<FormCheckbox(Children, Yes, No)>> || || Note: || <<FormTextarea(Note, rows=10, cols=20)>> || || Attachment: || <<FormUpload(Attachment)>> || |