Renderer pro formuláře

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

Čus všichni, potřeboval bych poradit, snažím se vytvořit renderer pro formulář od kterého požaduji určité věci a nemůžu se dohrabat do finále.

Např.

  1. elementu form chci přiřadit class=„form“
  2. při použití ->setOption(‚description‘, ‚text‘) se mi za inputem vytvoří element small, který bych chtěl pomocí rendereru zabalit do dvou divu např. <div class=„div-1“><div class=„div-2“>text</div></div>

a nakonec zda někde neexistuje detailnější popis nějakého hotového vzorového rendereru viz. vzor

# toto slouží k tomu a tomu
‚pair‘ ⇒ array(
‚container‘ ⇒ ‚div class=row‘, # tímto nastavím tohle a tohle
‚.required‘ ⇒ ‚required‘, # tímto nastavím tohle a tohle
‚.optional‘ ⇒ NULL, # tímto nastavím tohle a tohle
‚.odd‘ ⇒ NULL, # tímto nastavím tohle a tohle
),

díky všem za help

o5
Člen | 416
+
0
-

Koukal jsi do examplu v distribuci?

PetrP
Člen | 587
+
0
-

Zápis kódu v tomto fóru

1. $form->getElementPrototype()->class('form') (viz api)

2.

$form->getRenderer()->wrappers['control']['description'] = Html::el('div','class=div-1');
//Do druheho divu to asi přes wrapper nezabalíš

//Nebo ještě můžeš takto
$form['neco']->setOption('description',Html::el('div','class=div-1')->add(Html::el('div','class=div-2')->text('text')));
//nejsem si tet uplne jistej syntaxi Html