Jak správně na filtrování dat?
- wise
- Člen | 161
Zdravím,
Nette 2, PHP 5.3.
Mám následující třídu:
<?php
<?php
namespace FrontModule;
class SearchPresenter extends BasePresenter {
private $type;
public function startup() {
parent::startup();
}
public function actionDefault($type) {
$this->type = $type;
$this->template->type = $this->type;
}
public function createComponentMainSearch($name) {
new \FrontModule\Forms\Search\MainSearch($this, $name);
}
public function createComponentList() {
$schools = $this->model->school->getSchools($this->type);
$list = new \SchoolList();
$list->limit = 15;
$list->source = $schools;
return $list;
}
}
?>
Třída obsahující formulář MainSearch, je klasický zpracování, callback je ve stejné třídě.
Na základě vyhodnocení formuláře bych potřeboval upravit source SchoolListu.
Jaký je optimální způsob?
Díky moc.
- MW
- Člen | 626
Nejsem si ted jisty, jestli to takto lze poslat do komponenty.
Ale v kazdem pripade ziskat $search/$find v komponente lze pres
getParam(„search“).
Ted koukam, ze jsem to napsal blbe.. ten parametr $search ci $find, jak chces, predavas do metody, ktera ziskava data… do komponenty to ani nepotrebujes predat takto.
Editoval MW (29. 9. 2011 9:40)
- bojovyletoun
- Člen | 667
nevím, kde se pořád berou ty nesmysly s
createComponentList($nejakeJIneparametry)
**!!!* metoda je vždy
volána s jedním parametrem a to je jméno vytvářené komponenty (což je
spíš z praktického důvodu rychlejšího zápisu, abychom nemuseli pořád
jméno lovit jako substr(__FUNCTION__,15))
příkladů, jak předat komponentě parametr je hafec na foru, stačí
hledat.funct creaCoList{$x=new List;$x->param1="mujParam";return $x;}
. Nebo je možné komponentě předat parametr při renderování. Viz
dokumentace → komponenty ->továrničky