Login router

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
radvis
Začátečník | 110
+
0
-

Ahoj,

mám login form:

{if Environment::getUser()->isInRole('guest')}
<table>
	<tr><td>{$form->render('begin')}</td><td></td></tr>
	<tr><td><img src="{$baseUri}images/icons/mail.png" alt="email" class="icon"> Email:</td><td>{!$form['username']->control}</td></tr>
	<tr><td><img src="{$baseUri}images/icons/key.png" alt="pass" class="icon"> Heslo:</td><td>{!$form['password']->control}</td></tr>
	<tr><td></td><td>{!$form['login']->control}</td></tr>
	<tr><td>{$form->render('end')}</td><td></td></tr>
</table>
{/if}

a když mám bootstrap takhle:

...
$router = $application->getRouter();
$router[] = new SimpleRouter('Home:default');
...

tak je vše Ok, ale když odkomentuju $router[] = new SimpleRouter(‚Home:default‘);
tak mi to hodí chybu: Call to a member function render() on a non-object
tj: File: C:\wamp\www\domena.cz\app\temp\cache-Nette.Template%00aafa3e0d599e5fe29c0fe45b079e8f911.%40layout.phtml.php Line: 67

67: <tr><td><?php echo TemplateHelpers::escapeHtml($form->render('begin')) ?></td><td></td></tr>

Prosím o radu. Díky.

jasir
Člen | 746
+
0
-

Když odkomentuješ ten řádek, je to jako by tam bylo:

<?php
$router[] = new SimpleRouter('Default:default');
?>

Čili nejspíš se vyvoláva presenter Default. Pravděpodobně ho ve svém projektu máš a v něm i action default, takže to nezařve, ale v tom presenteru nemáš definovanou komponentu form, kterou ale v layoutu používáš.

radvis
Začátečník | 110
+
0
-

Jo bylo to tím, že jsem neměl ten form … nemohl by jsi mi prosím ještě napsat jak mam udělat logout? Nějak mi to bez simple route nejde:(. Díky.

jasir
Člen | 746
+
0
-

Prostuduj si v examples CD-Colection.

radvis
Začátečník | 110
+
0
-

Nemáš oedkaz?

jasir
Člen | 746
+
0
-

radvis napsal(a):

Nemáš oedkaz?

Je to přímo v distribuci, adresář Nette/examples/CD-collection.