Component with name ‚taskForm‘ does not exist
- JarekSt
- Člen | 39
Snazim se proniknout do Nette a tak jedu dle vzoroveho prikladu
z dokumentace „Piseme prvni aplikaci“.
v TaskPresenter.php mam tohle:
protected function createComponentTaskForm()
{
$userPairs = $this->userRepository->findAll()->fetchPairs('id','name');
$form=new Form();
$form->addText('text', 'Úkol:', 40, 100)
->addRule(Form::FILLED, 'Je nutné zadat text úkolu.');
$form->addSelect('userId', 'Pro:', $userPairs)
->setPrompt('- Vyberte -')
->addRule(Form::FILLED, 'Je nutné vybrat, komu je úkol přiřazen.');
$form->addSubmit('create', 'Vytvořit');
return $form;
}
V adresari templates/Task mam default.latte, ve kterem je mimo jine:
<fieldset>
<legend>Přidat úkol</legend>
{control taskForm}
</fieldset>
Kdyz pak aplikacku spustim, vyskoci mi ladenka s touhle hlaskou: Component
with name ‚taskForm‘ does not exist.
Muze mi nekdo poradit, kde hledat chybu?
Diky.
- JarekSt
- Člen | 39
Šaman napsal(a):
Já sice už formuláře řeším jinak, ale chybu nevidím. Nasdílej někam kód (ideálně na GitHub), myslím si, že pes je zakopaný někde jinde, možná v nějakém překlepu.
- Šaman
- Člen | 2666
Tak už to je jasný :)
Nejedná se o TaskPresenter, ale o HomepagePresenter, kde žádnou komponentu
nevytváříš, ale v šabloně ji stejně voláš. (HomepagePresenter ti
naběhne hned na začátku, protože je to defaultní routa).
Když si do adresy dopíšeš cesta/sandbox/www/task/, tak ti
to začne fungovat.
Řešením bude smazat přidávací formulář z Homepage/default.latte (vypadá to na pozůstatek některé z dřívějších verzí, kdy se ještě úkoly nepřidávaly pod jednotlivé seznamy). Teď se totiž úkoly přidávají až na TaskPresenteru a jen když máš vybraný seznam.
Editoval Šaman (28. 10. 2013 16:50)
- JarekSt
- Člen | 39
Šaman napsal(a):
Tak už to je jasný :)
Nejedná se o TaskPresenter, ale o HomepagePresenter, kde žádnou komponentu nevytváříš, ale v šabloně ji stejně voláš. (HomepagePresenter ti naběhne hned na začátku, protože je to defaultní routa).
Když si do adresy dopíšeš cesta/sandbox/www/task/, tak ti to začne fungovat.Řešením bude smazat přidávací formulář z Homepage/default.latte (vypadá to na pozůstatek některé z dřívějších verzí, kdy se ještě úkoly nepřidávaly pod jednotlivé seznamy). Teď se totiž úkoly přidávají až na TaskPresenteru a jen když máš vybraný seznam.
aha, jasne – diky moc