DateTime a redirect s date
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- MW
- Člen | 626
Zdravím a prosím o radu, nejak jsem se zacyklil :-(
Vypisuji nejaka data a pridal jsem si jednoduchy filtr na datum.
Problém je, ze me form hodi do url, cely objekt Datetime., tedy
i Timezone atd..
Neprisel jsem na to, jak spravne v submit metode z toho udelat pouze date tedy yyyy-mm-dd.
Nebo na to jdu blbe?
Predem diky !
protected function createComponentHistorydate($name) {
$form = new Form($this, $name);
$form->addDatePicker('historydate', 'Ke dni:')->setDefaultValue($this->getParameter('historydate'));
$form->addHidden('mrp')->setDefaultValue($this->getParam('mrp'));
$form->addSubmit("o", "Odeslat");
$form->onSuccess[] = array($this, "history_submit");
}
public function history_submit($form) {
$this->redirect("this", (array) $form->getValues());
}
- s4muel
- Člen | 92
aky datepicker plugin pouzivas?
nestaci ti povedzme len zmenit format datumu? http://api.jqueryui.com/datepicker/#…
- leninzprahy
- Člen | 150
Používám přetypování, záleží jestli potřebuješ jen datum, nebo
i čas (to bude asi lepší posílat timestamp)
něco jako
public function history_submit($form) {
$values = $form->getValues();
$values->historydate = $values->historydate->format('Y-m-d'); //případně ->historydate->getTimestamp();
$this->redirect("this", (array) $values);
}
nevím jaký používáš datePicker, možná bude ještě potřeba při nastavování defaultní hodnoty z toho udělat DateTime, třeba takto:
->setDefaultValue(\Nette\DateTime::from($this->getParameter('historydate')));