Array property nepředává obsah
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- RobK
- Člen | 6
Zdravím, mám zřejmě opět hloupý dotaz. Potřebuju z jedné metody do druhé v rámci presenteru předat pole zaškrtnutých checkboxů (resp. jsou v něm ID položek z DB). Používám k tomu public property
<?php
public $marked = array();
?>
nicméně to je po naplnění v první metodě při volání v druhé prázdné. Tušíte někdo?
<?php
public function commentFormSucceeded($form, $values)
{
if (!$this->getUser()->isLoggedIn()) {
$this->redirect('Sign:in');
} else {
$marked1 = $form->getHttpData($form:: DATA_TEXT | $form::DATA_KEYS, 'marked[]');
$this->marked = $marked1;
bdump($this->marked);
if($form['delete']->isSubmittedBy()){
//formular odeslan tlacitkem delete
foreach ($marked as $to_delete){
$count_deleted = $this->database->table('comments')
->where('id',$to_delete)
->delete();
}//end foreach
$this->flashMessage('Uspesne smazano', 'success');
$this->redirect('this');
} elseif($form['export']->isSubmittedBy()){
//formular odeslan tlacitkem export
bdump($this->marked);
$this->flashMessage('Pokus o export', 'success');
$this->redirect('export');
} //endelseif
} //endelse
} //end function commentFormSucceed
public function renderExport()
{
$marked2 = $this->getMarked();
bdump($marked2);
$this->template->comments = $this->database->table('comments')
->order('created_at DESC')
->limit(100);
$this->template->markedItems = $this->marked;
}
?>
Dumpy v první metodě pole vypíší, v druhé je prázdné.
- David Matějka
- Moderator | 6445
jelikoz tam provadis redirect. muzes si ty id predat treba pres URL (pokud jich je rozumne mnozstvi)