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
Č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ř.
- elementu form chci přiřadit class=„form“
- 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
- PetrP
- Člen | 587
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