Jak vytvořit globální pole?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Manny7
- Člen | 67
Zdravím,
snažím se vytvořit pole, do kterého budu vkládat hodnoty. Pole jsem si
vytvořil v presenteru, ve které pak taky používám to pole do sql dotazu.
Kliknu na nějakou položku a chci, aby se mi přidala do pole – jenže
každým kliknutím se to pole znova inicializuje, takže v tom poli nedostanu
nikdy více, než jednu položku.
A chci se zeptat, kde toto pole inicializovat, aby jej měl k dispozici po
celou dobu běhu aplikace? Napadly mě session, ale v nette jsem s nimi
ještě moc nepracoval a taky by mě zajímalo, zda by to šlo i bez nich.
Díky.
- Manny7
- Člen | 67
Zkouším to takto:
class NameOfPresenter extends \BasePresenter
{
/** @persistent */
public $persistentCo_umime = Array();
public function renderDefault()
{
...
}
public function handleTest($par)
{
$persistentCo_umime[] = $par;
$nam = new \NameOfeManager;
$this->template->bla= $nam->findAll('table')->where('special IN ('.Implode(', ', $persistentCo_umime).')')->orderBy('name');
$this->invalidateControl('bla');
}
A v šabloně pak volám:
<a href="{link test! 'par' => $spec->id}" class="ajax special">$name</a>
Ale pořád dostávám v tom poli pouze jednu hodnotu, nikdy více… pořád mi tu s tím pers. parametrem uniká nějaká souvislost