Problém s vykreslením formuláře

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

Zdravíčko,
prosím Vás, teďka dělám něco po delší době v Nette2, ale mám problém s formulářem.
Problém je, že se mi vykresluje jen s použitím makra {widget form}.

Jenže chci formulář vykreslit po svém pomocí manuálního vykreslení, ale tady je problém. Při použití konstrukce:

{form contactForm}
<span>
	{label subject /}
	{control subject}
</span>
<span>
	{label email /}
	{control email}
</span>
<span class="submit-span">
	<span class="txt-span">
	{label text /}
	{control text}
	</span>
	{control save}
</span>
{/form contactForm}

Dostávám chybu: `Nette\InvalidArgumentException
Component with name ‚subject‘ does not exist.`. Formulář definuji pomocí:

public function createComponentContactForm()
	{
		$form = new Form();

		$items = array(...);
		$form->addSelect('subject', 'Předmět', $items);
		$form->addText('email', 'Váš e-mail')
			 ->setDefaultValue('@');
			 //->addRule(Form::EMAIL, 'Prosím zadejte adresu elektronické pošty v platném tvaru.');
		$form->addTextArea('text', 'Text zprávy')
			 ->addRule(Form::MAX_LENGTH, 'Vaše zpráva je příliš dlouhá.', 4000);
		$form->addSubmit('save', 'Odeslat')->onClick[] = callback($this, 'contactFormSubmitted');

		return $form;
	}

Napadá Vás, kde je problém?
(PHP 5.3.5–1ubuntu7.2, Nette Framework 2.0-beta (revision f2ae1ce released on 2011–06–22))

Majkl578
Moderator | 1364
+
0
-

https://doc.nette.org/cs/forms#…

Mělo by to být {input subject} místo {control subject} (a dále obdobně).