Problem s {widget…}-pravdepodobne nette nevytvara componenty
- hizo
- Člen | 48
Caute, stiahol som nette:
Pro PHP 5.3.0 nebo vyšší:
Nette Framework 2.0-alpha2 pro PHP 5.3 se jmennými prostory
mam v tom napisany jednoduchy staticky web o 6–7strankach, mam to uz aj na serveri vsetko funguje krasne…prislo na radu jednoduche admin menu, kde do AdminPresenteru som dal kod na vytvorenie jednoducheho login formularu:
<?php
use Nette\Forms\Form;
use Nette\Application\AppForm;
use Nette\ComponentModel\Component;
class AdminPresenter extends BasePresenter
{
function createComponentLoginForm()
{
$form = new AppForm($this, 'login');
$form->addText('name', 'Login:')
->addRule(Form::FILLED, 'Musíte zadať login!');
$form->addPassword('password', 'Heslo:')
->addRule(Form::FILLED, 'Musíte zadať heslo');
$form->addSubmit('login', 'Prihlás');
$form->onSubmit[] = array($this, 'loginFormSubmitted');
return $form;
}
function loginFormSubmitted($form)
{
$values = $form->getValues();
Debug::dump($values);
}
}
?>
v sablone potom zavolam {widget LoginForm} alebo {widget loginForm} no stale
dostavam hlasku: ‚Component with name 'loginForm‘ does not exist.‚
skusal som aj namiesto widget pouzit v presenteri
$this->template->formular = $this['loginForm‘]; a vykreslit to
v sablone no stale loginForm does not exist. vyzera to ze mi nechce vobec
vytvarat komponenty.
Dakujem za pomoc.
Editoval hizo (13. 2. 2011 15:15)
- Filip Procházka
- Moderator | 4668
David Grudl napsal(a):
obecně je preferovaný zápis {control …} před {widget …} a {var …} před {assign …}