odkazovani v presenteru na template
- Patrik Votoček
- Člen | 2221
Jde to
$presenter->link('Items:edit', array('id' => $item->id));
.
Nicméně bych se echu v Nette oblouhem vyhnul! Pokud necheš používat šablony tak používej alespoň Nette\Application\Responses\TextResponse!
- Majkl578
- Moderator | 1364
simPod napsal(a):
o to jsem se taky pokousel, ale to nevyhodi zadnou chybu, ale ani zadny vystup. Destination mam spravne a argument taky, a ani bez argumentu to nereaguje. Co presne to ma vyhodit?
Kdyz vedle toho vypisu nejake echo, tak echo se vypise, ale funkce link neudela nic
dekuji
Zkus se primárně věnovat základům programování jako takovým, nevědět jak zjistit, jestli funkce něco vrací / co dělá, je základní kámen úrazu.
- Patrik Votoček
- Člen | 2221
redhead napsal(a):
link vrací řetězec, tedy pokud to chceš vypsat, tak
echo $this->link...
Jakože fakt? co dodat…
simPod napsal(a):
aha, dekuji! Pak jeste dotaz, proc Patrik Votoček rika, ze by se echu vyhnul v nette?
Protože echo do presenteru nepatří!!! Taky jsem ti psal že máš použít Nette\Application\Responses\TextResponse.
Abych uvedl příklad a nedošlo k dalším nepřesnostem…
class DefaultPresenter extends BasePresenter
{
public function renderDefault()
{
$item = $this->mySuperUberCoolItemLoader();
$this->sendResponse(new \Nette\Application\Responses\TextResponse(
$this->link('Items:edit', array('id' => $item->id));
));
}
}