vlastní vykreslení formuláře

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
chemikus
Člen | 47
+
0
-

Ahoj.
Mám takový „lamerský“ dotaz. Rád bych formulář vykresloval automaticky od Nette (vykreslení se mi líbí a mám ho sám upravené za pomocí wrapperů), ve formuláři používám přidání datumu konání nějaké akce. A rád bych, aby se mi výběr datumu zobrazil následujícím způsobem „den / měsíc / rok – hodiny / minuty“. Ve formuláři na to mám připravené jednotlivé Select boxy, ale stále nevím, jak prostě nastavit, aby se mi to vykreslily select boxy v jednom jediném řádku. Nevíte někdo jak na to?

<?php
$form->addGroup("Termín konání");
$form->addSelect("den", "Den: ", $den);
$form->addSelect("mesic", "Měsíc: ", $mesic);
$form->addSelect("rok", "Rok: ", $rok);
$form->addSelect("hodina", "Hodina: ", $hodina);
$form->addSelect("minuta", "Minuta: ", $minuta);
?>
jtousek
Člen | 951
+
0
-

Krátká odpověď: Blbě.

Dlouhá odpověď:

Nevím jakou verzi Nette používáš. V aktuálních nightly buildech jsou renderery a wrappery minulostí a formuláře se generují pomocí šablon.

Pro výběr data obecně doporučuji použít HTML5 <input type="date" />, což se v nette dělá přes ->setType('date'). Kvůli (ne)podpoře HTML5 v browserech doporučuji na to napojit nějaký JS kalendářík, třeba z jQuery UI.

Pokud to chceš i s časem tak datetime.

Jiný dobrý nápad mohou být masky (koukni na demo):
http://digitalbush.com/…nput-plugin/

Editoval jtousek (5. 10. 2010 13:45)

westrem
Člen | 398
+
0
-

Najskor by som to riesil ako extension do formularu, kde si spravis nejaku vlastnu komponentu, ktora bude interne reprezentovana ako tieto selecty.

Skus sa inspirovat vo formularovych doplnkoch

chemikus
Člen | 47
+
0
-

jtousek napsal(a):

Krátká odpověď: Blbě.

Dlouhá odpověď:

Nevím jakou verzi Nette používáš. V aktuálních nightly buildech jsou renderery a wrappery minulostí a formuláře se generují pomocí šablon.

Pro výběr data obecně doporučuji použít HTML5 <input type="date" />, což se v nette dělá přes ->setType('date'). Kvůli (ne)podpoře HTML5 v browserech doporučuji na to napojit nějaký JS kalendářík, třeba z jQuery UI.

Pokud to chceš i s časem tak datetime.

Jiný dobrý nápad mohou být masky (koukni na demo):
http://digitalbush.com/…nput-plugin/

Omlouvám se za nepřesné upřesnění :-) Datum už jsem vyřešil přes DatePicker :-) Ale asi ještě poupravím aby se to dalo vybrat jak datum tak čas rovnou přes nějaké jQuery UI :-)
Ale děkuji za informace a nápovědu :-)