Jak se ptát v manuálním vykreslování jestli prvek formuláře existuje a je to vůbec dobré řešení?

ondrapech
Člen | 49
+
0
-

Ahoj, řeším problém skrývání vstupů formuláře pro určité role a pod. např. v reportech. Jednoduchý příklad:

if($this->user->isInRole('admin'){
	$form->addSelect('user', 'Konkrétní uživatel');
}

Ve view pokud manuálně vykrasluji formulář a vykreslil bych prvek co neexistuje (pro určitou roli) tak Nette vyhodí logicky vyjímku. Tak bych se potřeboval ptát, jestli prvek ve formuláři existuje něco jako:

<select n:ifset="$control['nazevKonponenty']['user']" n:name="user"></select>

Existuje nějaký takový způsob? Nebo jak to řešíte? :) Předem díky za rady a poznatky :)

MajklNajt
Člen | 471
+
+2
-
{ifset $form['user']}
<select n:name="user"></select>
{/ifset}
ondrapech
Člen | 49
+
0
-

MajklNajt napsal(a):

{ifset $form['user']}
<select n:name="user"></select>
{/ifset}

A $form vezmu kde? jak se dostanu k správnému formuláři, pokud mám víc formulářů? $form je název konponenty?

MajklNajt
Člen | 471
+
+3
-

veď $form je automaticky dostupná v šablóne v časti {form fooForm}......{/form}

ondrapech
Člen | 49
+
0
-

MajklNajt napsal(a):

veď $form je automaticky dostupná v šablóne v časti {form fooForm}......{/form}

Super, díky moc :)