Defaultní hodnoty prvků v Multiplieru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Magnus
- Člen | 65
Zdravím,
v šabloně procházím pomocí foreach data z tabulky a pomocí třídy
Multiplier se postupně vytváří formuláře.
Jaký je nejlepší způsob určit defaultní hodnoty prvků v jednotlivých
formulářích? Hodnoty se určí podle dat z toho pole, který
procházím.
Je lepší dělat to v šabloně pomocí manuálního vykreslení, nebo udělat
v presenteru něco v tomto smyslu?
class Presenter
{
public function renderPage()
{
// klíče berme jako nějaká ID
$data = array(
1 => "hodnota x",
2 => "hodnota y",
3 => "hodnota z",
// ...
);
foreach ($data as $key => $value) {
$this["nazevForm"][$key]->setDefaults(array(
"nazevPrvku" => $value
))
}
}
}
Díky moc
- David Kudera
- Člen | 455
No moc pěkný není ani jedno, jen v šabloně je to ještě horší. Spíš bych to dal minimálně do samostatné třídy pro tu komponentu (pro multiplier). Zjednoduší se tím i samotný presenter, kde se definice celé komponenty může zmenšit až na jeden řádek.