Generování odkazů v komponentě
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Buri
- Člen | 15
Zdravím, mám problém s generováním odkazů v komponentě, pokud chci odkazovat do jiného presenteru.
Mám base presenter, ve kterém je děděná továrnička:
public function createComponentForum($id, $a = 0){
$c = new frontendModule\ForumComponent($a);
$this['forum'] = $c;
return $c;
}
Komponenta si poté načte vlastní šablonu a vykreslí se. Když pak ale chci v šabloně použít
{foreach $topics as $topic}
{link forum: $topic}
{/foreach}
dostanu chybovou hlášku „Component with name ‚forum‘ does not exist.“ Když vynechám dvojtečku na konci, tak mi link vygeneruje jen crosshash (#). Musí se komponenta připojit do prezenteru ještě někde jinde krom továrničky?
- Aurielle
- Člen | 1281
Používáš továrničky nesprávně. Továřnička příjmá jediný parametr $name, který je v tvém případě roven ‚forum‘. Obsah metody by měl správně vypadat takto:
protected function createComponentForum()
{
$c = new fronendModule\ForumComponent();
// tady někde si získáš a doplníš $a
return $c;
}