Jak zjistit/zkontrolovat/otestovat, zda existuje dana sablona?

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

Zdravim vsechny,

verim, ze to urcite jde … jen na to nejak nemohu prijit. Tj. jak v prezenteru zjistit, zda existuje dana sablona, tj. neco jako $this->existView(‚xxx‘);

Diky za informaci.

Radek

Jan Endel
Člen | 1016
+
0
-

is_file ?

jtousek
Člen | 951
+
0
-
$templateExists = FALSE;
$files = $this->formatTemplateFiles();
foreach ($files as $file) {
	if (is_file($file)) {
		$templateExists = TRUE;
		break;
	}
}
ras
Člen | 135
+
0
-

jtousek: Diky, ale $this->formatTemplateFiles() mi vrati nazev aktualni sablony … ja bych vsak potreboval otestovat existenci jine nez aktualni, abych se na ni mohl prepnout, resp. abych na ni mohl nasmerovat odkaz …

Tj. mozna ani tak ne otestovat existenci sablony, jako spis existenci action (kdyz o tom ted tak premyslim a zjistuji, ze vcera vecer jsme mel jit spis driv spat ;O)

jtousek
Člen | 951
+
0
-

Aha, jasný. No v Nette přímá podpora na existenci šablony pro dané view asi není, musel bys ses podívat na implementaci formatTemplateFiles() a napsat to podobně.

Zjištění action metody normálně přes reflexi… Ještě mě napadá pokusit se vytvořit odkaz na danou $action pomocí createRequest, to nějak interně používá Nette.