jeden custom rendering pro všechny formuláře

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

Zdravím,

neznáte někdo nějaké řešení, jak by se dal jednotně nastavit všem formulářům render?

<?php

$form = new Form;
// setup custom rendering
$renderer = $form->getRenderer();
$renderer->wrappers['form']['container'] = Html::el('div')->id('form');
$renderer->wrappers['form']['errors'] = FALSE;
$renderer->wrappers['group']['container'] = NULL;
$renderer->wrappers['group']['label'] = 'h3';
$renderer->wrappers['pair']['container'] = NULL;
$renderer->wrappers['controls']['container'] = 'dl';
$renderer->wrappers['control']['container'] = 'dd';
$renderer->wrappers['control']['.odd'] = 'odd';
$renderer->wrappers['control']['errors'] = TRUE;
$renderer->wrappers['label']['container'] = 'dt';
$renderer->wrappers['label']['suffix'] = ':';
$renderer->wrappers['control']['requiredsuffix'] = " \xE2\x80\xA2";

?>

Editoval Zdeno1981 (22. 11. 2011 8:24)

Ot@s
Backer | 476
+
0
-

Udělej si vlastní předlohu formuláře a tu pak používej místo Nette\Application\UI\Form

class MyForm extends Nette\Application\UI\Form
{
  public function __construct()
  {
    parent::__construct();
    $renderer = $this->getRenderer();
    $renderer->wrappers['form']['container'] = Html::el('div')->id('form');
    $renderer->wrappers['form']['errors'] = FALSE;
    // ....
    $renderer->wrappers['control']['requiredsuffix'] = " \xE2\x80\xA2";
    $this->setRenderer($renderer);
  }
}
Zdeno1981
Člen | 115
+
0
-

to je chytré, moc mi to pomohlo, díky.