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
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
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áš.