Predavani parametru z presenteru do komponenty #2

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Markus125
Člen | 7
+
0
-

Ahoj, chtel bych predavat parametry do komponenty pres presenter. Melo by to fungovat pro tento konkretni priklad. $user_id bych chtel predavat z presenteru. Diky moc. M.

<?php

public function renderHome()
{
    $this->template->grid = $this['task'];
    ...
}

protected function createComponentTask()
{
    $data = new DataGrid();
    $task = new ETask();

    $data->bindDataTable($task->ViewAll($user_id));
    ...
}

?>
toka
Člen | 253
+
0
-
...
$this->getParam('...')
...
Markus125
Člen | 7
+
0
-

Ahoj, napis prosim cely kod, co bude v presenteru a co v komponente? Toto jsem zkousel a nejelo mne to. Diky. M.

Majkl578
Moderator | 1364
+
0
-

A kde se $user_id vzalo? Nikde nevidím deklaraci.
Komponentě můžeš udělat nějaký setter a přes něj poté nastavit hodnotu z presenteru. Například pro metodu MyControl::setUserId($id) by šlo v presenteru použít $this['myControl']->userId = 5.

toka: PresenterComponent::getParam() slouží k něčemu jinému.

$this->template->grid = $this['task'];

Nic moc řešení, proč to přiřazovat, když můžu přímo v šabloně použít {control task}, což je ta samá komponenta?

Markus125
Člen | 7
+
0
-

$user_id je deklarovano v presenteru; v sablone to primo pouzit muzes, ale jak tam das tu hodnotu?
Komponenta je delana pres tovarnicku, zadnou dalsi metodu, pokud vim, dodefinovat nemuzu. Prosim o funkcni reseni na tento konkretni priklad. Diky.

Markus125
Člen | 7
+
0
-

VYŘEŠENO, všem díky za pomoc. M.