Výpis všetkých akcií presenteru
- pseudonym
- Člen | 57
Dobrý deň, chcem sa opýtať, či sa náhodou nedá nejakou funkciou vypísať zoznam všetkých akcií daného presenteru, poprípade všetky presentery daného modulu. Ide o to, že by som si rád spravil nejaké automaticky generované menu bez toho, aby som musel položky ukladať do databázy.
Vopred ďakujem za odpovede
- Caine
- Člen | 216
Třeba takto:)
public function getPresenterActions($presenterName) {
$reflection = new Nette\Reflection\ClassType($presenterName . 'Presenter');
$methodObjects = $reflection->getMethods(ReflectionMethod::IS_PUBLIC);
$actions = array();
foreach ($methodObjects as $method) {
if (preg_match('#^(?:action|render)(\w+)#', $method->name, $matches) && !isset($actions[$matches[1]])) {
$actions[$matches[1]] = lcfirst($matches[1]);
}
}
return $actions;
}
Editoval Caine (29. 3. 2012 12:16)
- Filip Procházka
- Moderator | 4668
Což není dostatečně, protože stačí mít šablonu ve správné složce a máš další view, aniž bys měl metodu v presenteru.
- Ascaria
- Člen | 187
Něco mi říká, že tu bude správný postup načtení všech souborů šablon (*.phtml, *.latte) a to ve tvaru „/templates/Default/default.latte“ i „/templates/Default.default.latte“ a vynechat např. "/templates/Default/@layout.latte"
Mám za to, že to co tu popisuješ umí panel NavigationPanel
Editoval Ascaria (29. 3. 2012 12:50)