ErrorPresenter – původní request, který způsobil chybu
- sKopheK
- Člen | 207
Chtěl bych zobrazit chybové hlášky v layoutu daného modulu, ale při chybě v jiném než výchozím, nemohu získat název presenteru, ve kterém vznikla chyba (a z něj následně název modulu), protože
$this->getRequest()->getParameters()['request'];
je null. Ve výchozím modulu je předchozí request přístupný.
Idea je taková, že ErrorPresenter jednotný pro všechny moduly dostane do šablony cestu k layoutu a tu v makru nastaví. Pro mé potřeby je zbytečné mít různé ErrorPresentery pro různé moduly – a i kdybych to chtěl, tak dosáhnout toho (podle starších dotazů tady na fóru) je otázka stejného problému, jako řeším já.
UPDATE
Tohle mi funguje (context neřešte, dělal jsem to v rychlosti).
$request = $this->context->getService('application')->getRouter()->match($this->getHttpRequest());
list($module) = explode(':', $request->getPresenterName());
Ne vždy se ale nějaká routa namatchuje, takže je potřeba obsah
proměnné $request
zkontrolovat a případně mít nějaký
fallback.
Editoval sKopheK (23. 4. 2014 11:05)