Jak přidat css třídu pro pair?

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

Ahoj lidi,

narazil jsem na problém s dvousloupcovým formulářem. V podstatě už jsem vyřešil vykreslení některých prvků do druhého sloupce pomocí CSS, ale potřebuju u daných prvků přidat CSS třídu obalovacímu prvku pair a nevím jak. Našel jsem možnost přidat CSS pro formulář, labelcontrol, ale to mi nepomůže a ruční vykreslování je příliš náročné.

Tomáš Votruba
Moderator | 1114
+
0
-

Ahoj, pokud potřebuješ ostylovat pair, zkusil bych změnit wrappers.

Nějak takto:

$renderer = $form->getRenderer();
$renderer->wrappers['pair']['container'] = "div";

echo $form;

A poté tomu nastavit css:

#myForm > div { /* styl pro pair */}
Jan Tvrdík
Nette guru | 2595
+
0
-
Lawondyss
Člen | 106
+
0
-

Bohužel nic z toho nevyhovuje.

Úprava wrapperů neřeší „příležitostné“ užití a ač je render pomocí bloků skvělý, nesedí na můj případ (což chápu že jsem neuvedl).

Ale podařilo se mi najít řešení pomocí setOption(), kde se jako první parametr zadá string class a v druhým parametrem je název třídy. Takže zápis pak vypadá následovně:

$form->addSubmit('save', 'uložit')
	->setOption('class', 'column_right');
davidm
Člen | 81
+
0
-
$form->addSubmit(...)->getControlPrototype()->class('....')