zmena sablony pro formular

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

Cau,

mam komponentu formulare, pro tu komponentu bych potreboval nastavovat jmena sablon do ktere se komponenta vykresli.

Napriklad komponentu uzivatele,

<?php
protected function createComponentUzivatele($name){
  return new Uzivatele($this, $name, $typ);
}
?>

a napriklad pro uzivatele $typ = 1 bych potreboval vypsat formular s inputama vedle sebe a $typ =2 uzivatele vypsat s inputama pod sebe.

Proste aby componenta mohla urcovat jmeno svoji sablony

hrach
Člen | 1838
+
0
-

no to si ohlidej v samotne komponente v metode render, kde si vytvaris instanci Template a urcujes sablonu.

error414-c
Člen | 45
+
0
-

hrach napsal(a):

no to si ohlidej v samotne komponente v metode render, kde si vytvaris instanci Template a urcujes sablonu.

muzes me trosku vic nakopnout? diky

hrach
Člen | 1838
+
0
-

mno v komponente mas metodu render, pripadne renderNeco. v metode render vytvaris instanci Template:

<?php
public function render()
{
	$template = $this->createTemplate();
	if ($this->user->typ == 1)
		$template->loadFile(dirname(__FILE__) . '/user1.phtml';
	else
		$template->loadFile(dirname(__FILE__) . '/user2.phtml';

	return $template->render();
}
?>
Patrik Votoček
Člen | 2221
+
0
-

hrach napsal(a):

Jemu se jedná o formuláře takže tipnu si že Uzivatele dedi od Nette\AppForm a ten nemá metodu createTemplate() protože komponenta formuláře neumí pracovat se šablonami.

Navíc Nette\Templates\Template nemá metodu loadFile nýbrž setFile($file).

Budeš si muset naspat vlastní renderer na formuláře.

Editoval vrtak-cz (14. 5. 2010 20:51)

hrach
Člen | 1838
+
0
-

@Vrtak: nojo, to je tak, že mi to ten PHPed napovida :) a pak si to presne nepamatuju :D

  • ohledne toho, ze je to podedeny, to me nenapadlo. kazdopadne stale nic nebrani prepsat metodu render na nejakou vlastni, kde vytvorim Template, nactu prislusnou sablonu s rucni definici formulare. prijde mi to jednodussi nez vlasnti render.

Editoval hrach (14. 5. 2010 22:29)

error414-c
Člen | 45
+
0
-

parada diky za radu