Šablona komponenty, použitá asi 50× na daném projektu, ale pokaždé musí mít jiný input button image

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

Jak tohle řešíte? Mám jednu šablonu, někdy je input button obrázkový, někdy normální a hlavně má třeba s každým použítím jiný obrázek buttonu, jinak vše stejné?

jak to budete řešit? parametricky? s každým použitím nastavovat jestli button je obrázkový a pokud ano tak cestu k němu

neexistuje v dnešní době možnost jak tohle přenést do css?

Filip Procházka
Moderator | 4668
+
0
-

Budu doufat, že máš komponentu vyčleněnou do zvláštní třídy

use Nette\Application\UI;

class MyCoolForm extends UI\Control
{
	protected function createComponentForm()
	{
		$form = new UI\Form;
		$form->addSubmit('send');
		return $form;
	}

	public function render()
	{
		$this->template...
		$this->template->render();
	}

}

Takže si komponentu připojíš a změníš co potřebuješ. Klidně jenom html třídu a obrázek doplníš v CSS. Pokud máš input type="image", tak to nevím jak se dělá CSSkem.

protected function createComponentMyForm24()
{
	$control = new MyCoolForm;
	$control['form']['send']->controlPrototype->class('cool24');
	return $control;
}

Snadné, že? :)

Editoval HosipLan (18. 1. 2012 17:15)

mcmatak
Člen | 504
+
0
-

no jasně ale tak přece na tohle se ptám, jeslti to řešit parametricky což se mi nelíbí nebo jeslti už to jde řešit v css, protože class pokud vím ti k ničemu není v tomto případě

nanuqcz
Člen | 822
+
0
-

V CSS můžeš nastavit na pozadí tlačítka obrázek a nechat zmizet text (simulace <input type="image">). To by mělo stačit, ne?

EDIT: zmizení textu se myslím dělalo nastavením velikého text-indent

Editoval xxxObiWan (18. 1. 2012 17:19)