Problem s formularem v cyklu
- zazax1
- Člen | 9
Ahojpotreboval bych pomoci mam problem ze v cyklu se mi negeneruje automaticky AddText pro formulare KOd mam takyto:
Public function createComponentAddRowsForm($cols)
{
$form = new \Nette\Application\UI\Form;
foreach($cols as $col)
{
$form->addText($col[‚data‘][‚Field‘],$col[‚label‘]);
}
return $form;
}
- Patrik Votoček
- Člen | 2221
- nauč se formatovat kód
2) bez infromace co je v $cols
s tím nemáme
šanci hnout…
moc nechápu jak chceš do té továrničky propašovat
$cols
…
- Patrik Votoček
- Člen | 2221
doporučuju ti přečíst si: https://forum.nette.org/…v-presenteru a https://forum.nette.org/…o-komponenty
- zazax1
- Člen | 9
V
$cols
je pouze pole a ma tuto strukturu:
array(11) [
0 => array(2) {
data => array(3) {
Field => "id" (2)
Type => "int(11)" (7)
Default => NULL
}
label => "id" (2)
}
1 => array(2) {
data => array(3) {
Field => "rewrite" (7)
Type => "varchar(255)" (12)
Default => NULL
}
label => "SEO URL" (7)
}
PS: to pole uz tam je ale v cyklu se mi proste nenastavi inputy a vubec nevim proč
Editoval zazax1 (9. 10. 2011 16:04)
- Patrik Votoček
- Člen | 2221
Pokud si myslíš že tam to pole dostaneš:
Public function createComponentAddRowsForm($cols)
tak nedostaneš.
Protože v $cols
nebude to tvé pole ale string „addRowsForm“.
Více viz
můj předchozí post
- Patrik Votoček
- Člen | 2221
v tom případě tu komponentu vytváříš / voláš velice divně / zvláštně. A bez více kódu těžko hádat…
- zazax1
- Člen | 9
action v presenteru vypada takto:
public function actionAddRow($table_name)
{
$columns = $this->getService('model')->getTableColumns($table_name);
$this->template->columns = NetteEdminParser::getColumns($columns,$table_name);
$this->createComponentAddRowsForm($this->template->columns);
}
--/