Nastavení hodnot v SelectBox
- Aldaris
- Člen | 6
Dobry den
Poradte mi, prosim, kde muze byt chyba. V presenteru mam:
<?php
protected function createComponent($name)
{
$typ = array(
'aaa' => "aaaaaa",
'bbb' => "bbbbbb"
);
switch ($name) {
case 'pridatCinnost':
$form = new AppForm($this, $name);
$form->addSelect('typ','Typ činnosti :', $typ)
->addRule(Form::FILLED,'Musíte zadat typ činnosti !');
$form->addHidden('id_uziv');
$form->onSubmit[] = array($this, 'pridatCinnostFormSubmitted');
return;
}
}
?>
Zde funguje vse tak jak ma, ale kdyz chci potom v renderovaci funkci, ktera tento formular vykresli zmenit udaje v SelectBoxu na neco jineho, neprojde to validatorem. HTML kod se vykresli v poradku, ale proste me to pak uz nepusti dal.
<?php
public function renderPridatCinnost($id)
{
$komponenta = $this->getComponent('pridatCinnost');
$typ = array(
'ccc' => "cccccc",
'ddd' => "dddddd"
);
$komponenta['typ']->setItems($typ);
}
?>
Po provedeni tohoto kodu je jiz SelectBox nevalidni
- Aldaris
- Člen | 6
No taky me to ted napadlo.. A muzes poradit teda, kde bych ten kod na zmenu dat mel mit, aby se mi ta zmena spravne promitla? Jestli to bude v nejake metode, tak ji potrebuju predat parametr $id. momentalne jej predavam pomoci GET a predpokladam, ze metoda renderXxx($id) si vytahne hodnotu prave z GETu, je to tak? Ten snippet co jsem sem dal je velice zjednoduseny. Ve skutecnosti potrebuju vytahnout data z databaze za pomoci toho $id a nasledne temito daty naplnit SelectBox.
EDIT: neumim cist, promin.. zkusim to hodit do action.. nazev metody teda bude actionPridatCinnost($id)?
Editoval Aldaris (26. 11. 2009 14:05)