Přidání třídy celému formuláři

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

Ahoj,

nikde jsem nevycetl, jak pridat nejakou tridu (class=„neco“) celemu formulari. Existuje nejaka moznost?

V presenteru mam:

protected function createComponentAddForm()
	{
		$form = new \Nette\Application\UI\Form;
		$form->addText('name', 'Jméno:');
		$form->addSubmit('submit', 'Odeslat');
		$form->onSuccess[] = callback($this, 'addFormSubmitted');
		return $form;
	}

a v sablone pote jen:

{control addForm}

uz jsem prosel snad cele forum o formularich, ale nasel jsem zatim jen to, jak pridat tridu jednotlivym prvkum formulare.

Dekuji za radu

Jan Endel
Člen | 1016
+
0
-

Dle API Formuláře a HTML by mělo fungovat něco jako:

$form->getElementPrototype()->addAttribute(array('class' => 'ma-pekna-trida'));
natrim
Člen | 73
+
+1
-

funguje i

<?php
$form->getElementPrototype()->class('neco');
?>
Jan Endel
Člen | 1016
+
0
-

Popř. pokud vykresluješ formulář ručně pomocí maker tak funguje i:

{form signForm class => 'big'}
tomasnikl
Člen | 137
+
0
-

Diky moc,

uz to funguje..

o moznosti:

{form signForm class => 'big'}

vim take, bohuzel takto formular nevykresluju. Pouzival jsem ji kdyz jsem vykresloval formular rucne a osobne se mi tato moznost vice libi, jelikoz si myslim, ze tridy pro formular by si mel ridit spise koder nez programator.. Skoda ze nejde neco takoveho:

{control addForm class=>'trida'}
bojovyletoun
Člen | 667
+
0
-

no jde to i šablone, ale je to kostrbaté {$control[texo]->elementPrototype->class("ajax")}{control texo}

Filip Procházka
Moderator | 4668
+
0
-

To je otřesné řešení a nedoporučuji ho používat. @**bojovyletoun** proč to píšeš, když sám víš, že to není dobré řešení?