Clonovani nform containeru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- AceUnihoc
- Člen | 19
Potreboval bych naklovnovat NForm container, ktery je jiz vytvoreny. Napadlo me neco takoveho:
<?php
$sub = $form->addContainer('2');
// $form['1'] container, ktery potrebuju naklonovat
foreach($form['1']->getComponents() as $component) {
$sub->addComponent($component, $component->getName());
}
?>
Ale to mi vyhazuje vyjimku „Component already has a parent.“. Je moznost jak to obejit, zmenit rodice componenty ?
Editoval AceUnihoc (26. 8. 2008 2:59)
- David Grudl
- Nette Core | 8218
Chybí ti tam to klonování, tedy klíčové slovo
clone
. Např:
$form['2'] = clone $form['1'];
- AceUnihoc
- Člen | 19
David Grudl napsal(a):
Chybí ti tam to klonování, tedy klíčové slovo
clone
. Např:$form['2'] = clone $form['1'];
Tohle me napadlo jako prvni, ale ma to jeden problem. Oba containery maji stejne „name“ tzn. name u inputu je u prvniho [1][adresa] a u druhyho taky [1][adresa] a ja potrebuju aby ten druhej mel [2][adresa].
Editoval AceUnihoc (26. 8. 2008 12:01)