NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Petr Klekner
Člen
Avatar
Petr Klekner:13.7.2017 10:16

Čus guys. Mám takový problém a to je při výpisu příspěvků. Mam třídu WritePostsFactory, kde se odkazuju na šablonu ve které se objevuje i tento kód:

<td><button type="button"><a n:href="show, $post->id">Zobrazit</a></button></td>

A aplikace mi po spuštění vyhodí tuto chybu:

Invalid link: Unknown signal 'show', missing handler App\Forms\Wrti­teProjectsFac­tory::handleshow()
Nevíte někdo co s tím prosím ?

 
Odpovědět
13.7.2017 10:16
Avatar
Jan Blažek
Tvůrce
Avatar
Jan Blažek:13.7.2017 10:45

Ahoj, pokud chceš odkázat na detail nějakého konkrétního příspěvku, tak na ni odkážeš následovně:

<td><button type="button"><a n:href="Presenter:view, $post->id">Zobrazit</a></button></td>

Pokud se pohybuješ ve stejném presenteru, stačí ti napsat pouze

<td><button type="button"><a n:href=":view, $post->id">Zobrazit</a></button></td>

Pokud tam tu dvojtečnu neuvedeš, tak si nette myslí, že chceš v prezenteru zavolat pouze nějakou funkci, která se označuje právě

function handleNázev()

A osobně bych tu třídu pojmenoval ArticleFacade, pokud v ní netvoříš formulář. Ale to už je jen čistě můj názor.

Editováno 13.7.2017 10:46
 
Nahoru Odpovědět
13.7.2017 10:45
Avatar
Petr Klekner
Člen
Avatar
Odpovídá na Jan Blažek
Petr Klekner:13.7.2017 10:51

Moc ti děkuji za odpověď, ale asi jsem to popsal špatně zkusím to znovu.

Mam třídu WritePostsFactory kde mám tento kód:

public function render($posts) {
    $template = $this->template;
    $template->setFile(__DIR__.'/../presenters/templates/Homepage/WritePosts.latte');
    $template->posts = $posts;
    $template->render();
}

A je uložená v app/forms
Dále mám šablonu na kterou odkazuje:

<td><div>{$post->id}</div></td>
<td><div>{$post->name}</div></td>
...

Pak si vytvořím nový objekt třídy WritePostsFactory v Homepage, díky tomu vytvořím komponentu a tu si zavolám v default.latte.

 
Nahoru Odpovědět
13.7.2017 10:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.