Odkaz ze šablony na formulář

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

Mám vytvořený presenter pro zpracování formuláře a šablonu, která formulář vykreslí. Potřeboval bych ale udělat v jiné šabloně odkaz, aby se po kliknutí na něj formulář pro registraci zobrazil. V manuálu jsem našel jen příklady jak do odkazu předat akce z presenteru např. {link Product:show $productId} .Naťukněte mi někdo jak na to. Ď.

David Matějka
Moderator | 6445
+
0
-

No tak ten formular je v nejakem presenteru a pro nejakou akci, tak proste udelej odkaz na ten presenter a akci.

brontosaurus
Člen | 49
+
0
-

RegisterPresenter(je jen připravený, budu ho dodělávat, teď mi jde hlavně jen o ten odkaz) :

<?php

namespace App\FrontModule\Presenters;

use Nette\Application\UI\Form;

class RegisterPresenter extends BasePresenter
{

    public function renderRegister(){
    }

    protected function createComponentRegisterForm()
    {
        $form = new UI\Form;
        $form->addText('email', 'Email:');
        $form->addPassword('password', 'Heslo:');
        $form->addSubmit('login', 'Registrovat');
        $form->onSuccess[] = array($this, 'registrationFormSucceeded');
        return $form;
    }

    // volá se po úspěšném odeslání formuláře
    public function registerFormSucceeded(UI\Form $form, $values)
    {
       $Id = $this->getParameter('Id');

       $this->database->table('users')->insert(array(
        'id' => $values->Id,
        'email' => $values->email,
        'password' => $values->password,
        ));

        $this->flashMessage('Byl jste úspěšně registrován.');
        $this->redirect('Homepage:');
    }
}
?>

register.latte :

<?php
{block #content}

<h2>Registrovat</h2>

{control registerForm}
?>

a v @layout.latte mám na ten formulář odkaz :

<?php
<a href="{plink Register:Register}">Registrovat</a>
?>

Tedy, jdi do presenteru Register na akci Register . A Nette chce hledat ve složce ..\Register\register.latte . Ten tam opravdu není.
Page not found. Missing template ‚…/www/nette-blog/app/FrontModule/templates/Register/register.latte‘.
Něco mám špatně a nevím co ..

David Matějka
Moderator | 6445
+
0
-
  1. pri odkazovani pis u akce male pismeno, nekde to muze zpusobovat problemy, takze {link Register:register}
  2. a kde tedy ta sablona je?
brontosaurus
Člen | 49
+
0
-

Zkoušel jsem to i s malým písmenem ale chyba je stejná. Cesta k šabloně: /app/FrontModule/templates/register.latte

brontosaurus
Člen | 49
+
0
-

Promiň je to /app/FrontModule/templates/Register/Homepage/register.latte

brontosaurus
Člen | 49
+
0
-

naposled :-) takhle /app/FrontModule/templates/Homepage/register.latte

David Matějka
Moderator | 6445
+
+2
-

to je samozrejme spatne, kdyz je to presenter Register a akce register, tak to ma byt v /app/FrontModule/templates/Register/register.latte

brontosaurus
Člen | 49
+
0
-

Jo tak, myslel jsem, že to nette pozná nějak podle řetězců v názvech presenterů,akce a šablony..To bolí. Jdu to zkusit.