Pouzitie sablony inej akcie, pripadne ineho presenteru

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

Zdravim,

zacinam s nette a lamem si hlavu nad tym ako pouzit sablonu inej akcie.
V QS som nasiel zmienku o tom, ze to ide, ale nenasiel som ako.

Chcem pouzit pre action About sablnu akcie Contact
skusam to priblizne takto:

	public function renderAbout()
	{

$this->template->setFile('contact.phtml'); // specifikuje soubor se šablonou

	}

avsak dostavam odpoved „Missing template file ‚/contact.phtml‘“

Dalsi dotaz, je mozne pouzit sablonu inej akcie z ineho presenteru?

Dakujem za odpoved :)

Tharos
Člen | 1030
+
0
-

Takhle by to fungovalo, kdyby ta šablona contact.phtml byla ve stejné složce, jako presenter. To ale většinou nebývá. Chce to úpravu ve smyslu:

public function renderAbout()
{

 $this->template->setFile(dirname(__FILE__).'/../templates/contact.phtml');

}
assassik
Člen | 43
+
0
-

když už tak takhle

<?php
$this->template->setFile(APP_DIR . '/templates/Presenter/view.phtml');
?>
Tharos
Člen | 1030
+
0
-

assassik: No, tak to je teda zásadní rozdíl ;). Tvé řešení mi ale nepřijde moc praktické, zejména ne pro aplikace s více moduly. U modulárních aplikací považuji za vhodnější udržovat mezi soubory relativní vazby. Je to jako s komponentami – nebo snad i u komponent nastavuješ šablony následujícím stylem?

$this->template->setFile(APP_DIR . '/controls/SomeComponent/view.phtml');
uestla
Backer | 799
+
0
-

to matto:

Jestli je to šablona jiné akce ale na stejném presenteru, tak bych použil raději

$this->setView('contact');

Musím si po sobě to, co napíšu, pořádně číst a zlepšovat svoje vyjadřovací schopnosti, omlouvám se ;-)

Editoval uestla (3. 7. 2010 21:24)

Patrik Votoček
Člen | 2221
+
0
-

jak pise uestla nez pouzivat stejnou sablonu by bylo vyhodnejsi pouzit stejny view… (za predpokladu ze jsou ve stejnem presenteru.