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
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
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).