Editovaci formular a nastavenie vychodzich hodnot

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
cujan
Člen | 410
+
0
-

Caute
pouzivam na vytvorenie editovacieho formu tuto render metodu

<?php
public function renderEdit($id = 0)
	{
	    dump($id);
		$form = $this['vlozMineralForm'];

		//if (!$form->isSubmitted()) {
			$row = $this->mineralRepository->findBy(array('id'=> $id));

			//if (!$row) {
			//	$this->error('Záznam nenájdený');
			//}
			$form->setDefaults($row);
		//}
	}
?>

a problem je v tom, ze sice form vykresli ale nenaplni ho vychodzimi hodnotami. V com moze byt problem?

cujan
Člen | 410
+
0
-

Uz to hodnu chvilu testujem z kazdej strany, nechapem v com moze byt problem… len jedna vec ma trocha zarazila, ze ani netbeans nepozna setDefaults (neponuka mi tuto funkciu)…

cujan
Člen | 410
+
0
-

teraz som premazal cache a hodilo mi to uz chybu

First parameter must be an array, object given.

enumag
Člen | 2118
+
0
-

Protože neví, že $form je instance Nette\Forms\Form.

cujan
Člen | 410
+
0
-

hmmm…ale v use to mam uvedene…
a inac ved by to malo vediet ved to dedim len z komponentu vlozMineralForm…

Editoval cujan (3. 11. 2012 22:27)

saimons
Člen | 293
+
0
-

Nevraciti ten select vice nez jeden radek, u Nette/Database je tam potreba dat fetch().

Editoval saimons (4. 11. 2012 0:25)

Nox
Člen | 378
+
0
-

Ad napovídání:
Nemůže to vědět, use nepomůže když tu jde o proměnnou tahanou z „pole“ bez nějakého hintu

<?php
$form = $this[‚vlozMineralForm‘];
?>

=>

<?php
/* @var $form Nette\Forms\Form */
$form = $this[‚vlozMineralForm‘];
?>
cujan
Člen | 410
+
0
-

Caves kus som nepochopil tomuto zapisu

/* @var $form Nette\Forms\Form */

nemohol by si mi to priblizit

lebo inac vsetko robim podla vzorov na planette a tak som kus z toho mimo…

cujan
Člen | 410
+
0
-

nemoze byt problem v tom, ze ten form obsahuje checkboxlist?

Nox
Člen | 378
+
0
-

Ten kousek co's vypsal je speciální formát nápovědy pro editor, co funguje v NetBeans (možná i jinde) a říká, že proměnná $form je typu Nette\Forms\Form.

cujan
Člen | 410
+
0
-

aha chapem, no mne uz v pohode teraz form zobrazi bez chyby len mi nenatiahne data do neho, da sa nejako inac natiahnut data? napr. hoci manualne pre kazdy prvok? Aby som to zatial osetril aspon tak.

Vdaka

Jan Mikeš
Člen | 771
+
0
-

Dumpni si ty tvoje defaults co tam sypes pres $form->setDefaultValues() a postni sem cim se to vubec snazis naplnit, vsadim se, ze jak psal saimons, se tam snazis narvat Nette\Database\Table\Selection misto pole – potom je potreba udelat toto $form->SetDefaultValues($selection->fetch()->toArray())

cujan
Člen | 410
+
0
-

super vdaka to pomohlo, len este mam jednu otazku, ked mam vo forme selecboxy a checkboxy ako to vyriesit pre editaciu?