Přidání HTML (HTML::el) do formuláře

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

Zdravím, mám poměrně velký formulář (=za každou cenu se chci vyhnout manuálnímu vykreslování) a někde doprostřed formuláře potřebuji dát tabulku, jejíž vykreslení by mělo vypadat nějak takto:

<?php
        $table = Html::el('table');
        $tr = $table->create('tr');

        foreach($this->database->table('file')->where('ad_id',$this->id) as $item){
            $tr->create('td',$item->name);
        }
?>

a moje představa je, celé to připojit do formuláře:

<?php
	$form->nejakaFunkceProPridaniHtml($table);
?>

Jestli je to hloupá otázka, tak se omlouvám, jsem začátečník a za 2 hodiny se mi nepodařilo najít žádné rozumné řešení :-(

Felix
Nette Core | 1245
+
0
-

Kdysi jsem udelal takovy pseudo formularovy prvek.

Treba ti pomuze.

https://github.com/…arkupControl

omachala
Člen | 20
+
0
-

Nakonec jsem to vyřešil poměrně jednoduše a výsledek dostačuje. HTML jsem připojil jako description pro group:

<?php
        $table = Html::el('table');
        $tr = $table->create('tr');

        foreach($this->database->table('file')->where('ad_id',$this->id) as $item){
            $tr->create('td',$item->name);
        }


        $form->addGroup('Moje skupina')
                ->setOption('description',$table);
?>

které vygeneruje:

<fieldset>
	<legend>Moje skupina</legend>

	<table><tbody><tr><td>nejaky_soubor.html</td></tr></tbody></table>

	<table>
		... nette form tabulka ...
	</table>
</fieldset>