odkazovani v presenteru na template

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

V template vytvarim odkaz pomoci <a n:href="Items:edit, $item->id">edit</a>

Jakym zpusobem muzu toto vytvorit v metode v prezenteru? pouzivam echo na renderovani dat, ale nevim, jak do toho nacpat ten n:href… Diky

Patrik Votoček
Člen | 2221
+
0
-

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!

simPod
Člen | 383
+
0
-

pouzil jsem to v me funkci v prezenteru a dostavam Undefined variable: presenter

delam asi nejakou blbost, ale nevim jakou, dik

Editoval simPod (10. 10. 2011 12:09)

voda
Člen | 561
+
0
-

V presenteru použij $this->link(...);

Semik
Backer | 135
+
0
-

Co zkusit $this->link('Items:edit', array('id' => $item->id));.

simPod
Člen | 383
+
0
-

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

redhead
Člen | 1313
+
0
-

link vrací řetězec, tedy pokud to chceš vypsat, tak echo $this->link...

simPod
Člen | 383
+
0
-

aha, dekuji! Pak jeste dotaz, proc Patrik Votoček rika, ze by se echu vyhnul v nette?

Majkl578
Moderator | 1364
+
0
-

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
+
0
-

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));
		));
	}
}
simPod
Člen | 383
+
0
-

dobra, dekuji. Prestanu echo pouzivat

redhead
Člen | 1313
+
0
-

Patrik Votoček napsal(a):

redhead napsal(a):

link vrací řetězec, tedy pokud to chceš vypsat, tak echo $this->link...

Jakože fakt? co dodat…

Co mu mám asi na to říct. Chtěl to, má to. Neměl jsem čas odpovídat, proč echo ne.