Získání více hodnot z multiplieru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- medunrad
 - Člen | 27
 
Ahoj,
mám následující problém.
Na stránce vykresluji několik poboček.
Každá pobočka zobrazuje údaje o následujících 3 dnech.
Každý den zobrazuje seznam hodin, kdy je možné pobočku navštívit.
Momentálně řeším problém pomocí multiplieru, kde si do multiplieru předám index dne a podle toho vykreslím příslušné hodiny.
{control dateBlockPickForm-$dayIndex}
public function createComponentDateBlockPickForm() {
        return new \Nette\Application\UI\Multiplier(
                function($dayIndex){ ... }
}
Nicméně pro správné vykreslení ještě potřebuji údaj o pobočce, pro kterou mám dané hodiny zobrazit.
V šabloně tento údaj mám, nicméně nevím jak ho přenést do anonymní funkce komponenty, která vykresluje potomky formuláře.
Zkoušel jsem všemožně ze šablony předávat více parametrů jako např.
{control dateBlockPickForm-$dayIndex, $branchId}
Další způsob mě nenapadá, budu vděčný za každou radu.

- David Matějka
 - Moderator | 6445
 
ahoj, multipliery muzes zanorovat, takze ze sablony muzes zavolat
{control dateBlockPickForm-$dayIndex-$branchId}
a v presenteru pak budes mit
public function createComponentDateBlockPickForm() {
	return new \Nette\Application\UI\Multiplier(function($dayIndex){
		return new \Nette\Application\UI\Multiplier(function($branchId) use ($dayIndex) {
....
		}
	}
}