dependent selectBox neprovede callback
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- spiider
 - Člen | 162
 
Zdravím mám problém a vím že se tady řešilo mnohokrát ohledně této
komponenty ale nic mi nepomohlo.
Mám form:
	$form->addSelect('sectors','Sectors', $this->model->getSectors())
				->setPrompt('Select...');
	$form->addDependentSelectBox("subsector", "Subsector", $form["sectors"], array($this, 		         "getValuesSubsectors"));
        if ($this->presenter->isAjax())
			$form["subsector"]->addOnSubmitCallback(array($this, "invalidateControl"), "snippetSector");
k tomu metodu pro callback
public function getValuesSubsectors($form) {
		return $this->model->getSubSectors($form['sectors']->getValue());
	}
a v šabloně
<snippet snippetSector>
	{control addForm}
</snippet>
a pokaždé když vyberu z prvního selectu mi to vůbec nevstoupí do
getValuesSubsectors
Neporadíte pls.
Díky
Editoval spiider (31. 1. 2012 16:50)

- spiider
 - Člen | 162
 
Zkoušel jsem podle návodu napsat vlastní makro ainclude takto:
$latte = new Nette\Latte\Engine();
		$templ = new \Nette\Templating\FileTemplate();
		$templ->setCacheStorage(new \Nette\Caching\Storages\FileStorage(Nette\Environment::getVariable('tempDir')));
		$templ->presenter = $this;
		$templ->user = $this->getUser();
		$templ->baseUri = $templ->baseUrl = rtrim(Nette\Environment::getHttpRequest()->getUrl()->getBaseUrl(), '/');
		$templ->registerFilter($latte);
		$templ->registerHelperLoader('TemplateHelpers::loader');
		$this->template->it = $templ;
		$macroSet = new Nette\Latte\Macros\MacroSet($latte->parser);
		$macroSet->addMacro(
				'ainclude', '
                $path = pathinfo($presenter->template->getFile());
                $path = $path["dirname"] . "/" . %node.word;
                $it->setFile($path);
                $it->setParams(%node.array);
                $it->render();
        '
		);
		$this->template->registerFilter($latte);
ale hlásí mi to že makro ainclude nezná. Nevíte kde by mohla být chyba?

- spiider
 - Člen | 162
 
Tak nakonec sem to rozchodil ani nevím jak teda. Kdyžtak přikládám
zdroják kdyby se to někomu hodilo
Šablona:
{snippet formSnippet}
	{control addAlertForm}
{/snippet}
A form:
$form->addSelect("sectors_id", "Sectors", $this->model->getSectors());
$form->addDependentSelectBox("subsectors_id", "Subsector", $form["sectors_id"], callback($this, "getValuesSubSector"));
if ($this->presenter->isAjax())
	$form["subsectors_id"]->addOnSubmitCallback(callback($this, "invalidateControl"), "formSnippet");
$form->addSubmit("save", "Save")
	->onClick[] = callback($this, "addAlert");
return $form;
A metoda pro subselect
public function getValuesSubSector($form) {
		return $this->model->getSubSectors($form['sectors_id']->getValue());
	}
Takhle mi to funguje ani nevím kde byla teda předtím chyba