pair container: ako nastavím css triedu?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- blizzboz
- Člen | 13
Ahoj
mám formulár:
$form = new Form();
$form->renderer = new MyRenderer();
$form->addText('date', SELECT_DATE . ':')->emptyValue = date("d. m. Y", time());
$form['date']->labelPrototype->class('dateLabel');
$form['date']->controlPrototype->class('datePicker');
$form->addSubmit('continue', CONTINUE_NEXT_STEP);
echo $form;
vytvoril som si naň vlastný Renderer:
class MyRenderer extends ConventionalRenderer
{
public function __construct()
{
$this->wrappers['controls']['container'] = NULL;
$this->wrappers['pair']['container'] = 'div';
$this->wrappers['label']['container'] = NULL;
$this->wrappers['control']['container'] = NULL;
$this->wrappers['label']['requiredsuffix'] = "<em>*</em>";
}
}
a generuje mi to kód:
<form action="" method="post">
<div> <!--ako nastavím triedu u tohoto divu -->
<label class="dateLabel" for="frm-date">vyberte si dátum:</label>
<input type="text" class="datePicker text" name="date" id="frm-date" value="22. 12. 2009">
</div>
<div>
<input type="submit" class="button" name="continue" id="frm-continue" value="Pokračovať >>">
</div>
</form>
no a ako najjednoduchšie nastavím triedu DIVu ktorý obaluje label a control?
skúšal som vlastnosť:
$form['date']->containerPrototype->class('dateContainer');
ale nič také neexistuje :/
viem že u rendereru môžem nastaviť triedu takto:
$this->wrappers['pair']['container'] = 'div class="dateContainer"';
ale to mi zase nastaví tú triedu u všetkých divov…
Editoval blizzboz (22. 12. 2009 3:15)
- Filip Procházka
- Moderator | 4668
$this->wrappers['pair']['container'] = Html::el('div')->class('dateContainer');