neplatne spracovanie signalu z formu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- japlavaren
 - Člen | 404
 
Dobry vecer,
mam komponentu v ktorej vytvaram form, bohuzial nefunguje spracovanie formularu po odoslani. hadze to The signal receiver component ‚search-Search‘ is not found a neviem prist na to preco :(
BasePresenter – definicia komponenty
<?php
function createComponentSearch($name)
	{
		$search = new Search($this, $name);
		return $search;
	}
?>
Search – komponenta
<?php
class Search extends NControl
{
	public $defaults = array();
	function render()
	{
		$form = new NAppForm($this, __CLASS__);
		$form->onSubmit[] = array($this, "SearchSubmitted");
		$this->template->form = $form;
		$this->template->setFile(dirname(__FILE__) . '/template.latte');
		$this->template->render();
	}
	function SearchSubmitted(NAppForm $form)
	{
		Ndebug->dump($form->getValues());
	}
}
?>
dakujem moc

- kravčo
 - Člen | 721
 
potrebuješ továrničku aj v komponente (na formulár):
BasePresenter.php
class SomePresenter
{
    public function createComponentSearch()
    {
	return new Search;
    }
}
SearchControl.php
class Search
{
    public function createComponentSearch()
    {
        $form = new NAppForm;
        $form->onSubmit[] = callback($this, 'searchSubmitted');
        return $form;
    }
    public function render()
    {
        $this->template->setFile(dirname(__FILE__) . '/template.latte');
        $this->template->render();
    }
}
V templejte controlu form vyrenderuješ pomocou
{control search}, nepotrebuješ formulár pridávať do
templejty…