BasePresenter a Moduly, prepisanie beforeRender

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

Dobry den,

chcel by som sa spytat, ci je potrebne aby BasePresenter pri pouzivani Modulov obsahoval tuto prepisanu metodu:

<?php

protected function beforeRender()
	{
		$this->template->viewName = $this->view;

		$a = strrpos($this->name, ':');
		if ($a === FALSE) {
			$this->template->moduleName = '';
			$this->template->presenterName = $this->name;
		} else {
			$this->template->moduleName = substr($this->name, 0, $a + 1);
			$this->template->presenterName = substr($this->name, $a + 1);
		}
	}

?>

Chapem, ze uvedena metoda iba priraduje nazvy modulu, presenteru a viewu do sablonovych premennych, len som si nie isty, ci to ma aj nejaky vplyv na routovanie a teda ci je to povinne alebo nie.

PS: Funkcia je vytiahnuta z prikladu /examples/modules-usage, ktory je k najdeniu v distribucii pre Nette 0.9.4 PHP 5.2 Prefixed

Majkl578
Moderator | 1364
+
0
-

Na routování ne, to se nastavuje dříve, v bootstrapu ještě před spuštěním aplikace.

Tohle konkrétně slouží k pozdějšímu použití v šabloně (layoutu).

westrem
Člen | 398
+
0
-

Dakujem,
viem, ze routing sa nastavuje na inych miestach, len ma to trochu zmiatlo, ked som to videl aj v presenteri. Najme ked o moduloch nejak zatial nikde nie je ucelena dokumentacia, aj ked verim, ze sa na nej silne pracuje a staci uz len cakat.