Format datumu ve formuláři
- webdata
- Člen | 153
Zdravím,
Možná jsem asi špatně pochopil addFilter ve formuláři. A nebo dělám někde něco špatně. Jde o toto.
Z databáze dostanu fotmát datumu 2011–03–09 19:12:09 a já bych zněj chtěl pěknej českej 09.03.2011 19:12:09.
Ukázka kodu:
public function filterDateTimeFormat($dateTime) {
// $dateTime obsahuje 09.03.2011 19:12:09.
return (string) date('d.m.Y H:i:s', strtotime($dateTime));
}
protected function createComponentPropertiesForm($name) {
$form = new NAppForm($this, $name);
$form->addProtection();
$form->addGroup();
.
.
$form->addText('createDateTime', 'Vytvořeno: ')->addFilter(callback($this, 'filterDateTimeFormat'))->disabled = TRUE;
.
.
return $form;
}
V textovém poly formuláře se ale pořád objevuje 2011–03–09 19:12:09.
Předem dík za radu.
- Petr Motejlek
- Člen | 293
Určitě se podívej do zdrojáků Nette. Obvykle se tam dozvíš víc, než by ti kdo tady na fóru řekl ;).
Ty chceš tu hodnotu z databáze dát jako předvyplněnou hodnotu? Protože na to použij setDefaultValue, případně setValue. Filter je AFAIK na úpravu hodnot, který zadal uživatel a Nette ti ho teď nemá proč volat ;) Pokud chceš uživatelům umožnit zadat tam ten anglickej formát datumčasu, tak ten filtr by ti měl zajistit, že do Form::getValues se ti dostane až ten českej.