nefunkcni odkazy v ErrorPresenteru
- kleinpetr
- Člen | 480
Zdravim,
chtel jsem se jen v rychlosti zeptat jak resite ErrorPresenter, chtel jsem zachovat layout a take globalni searchForm, ktery je na celem webu, podedil jsem tedy ErrorPresenter od sveho FrontBasePresenteru a pristupuji k nemu jako ke klasickemu presenteru, podle exception mu nastavim prislusnou sablonu.
class Error4xxPresenter extends FrontBasePresenter
{
public function startup()
{
parent::startup();
if (!$this->getRequest()->isMethod(Nette\Application\Request::FORWARD)) {
$this->error();
}
}
public function renderDefault(Nette\Application\BadRequestException $exception)
{
// load template 403.latte or 404.latte or ... 4xx.latte
$file = __DIR__ . "/templates/Error/{$exception->getCode()}.latte";
$this->template->setFile(is_file($file) ? $file : __DIR__ . '/templates/Error/4xx.latte');
$this->template->homepageSections = $this->em->createQueryBuilder()
->select('pts')
->from(PageTabSectionEntity::class, 'pts')
->leftJoin('pts.page_tab', 'pt')
->leftJoin('pt.page', 'p')
->where('p.homepage = 1')
->getQuery()
->getResult();
}
}
Problem ale je, ze nefunguje ani jeden odkaz. Cetl jsem nejake starsi vlakna a zda se ze by mely odkazy normalne fungovat. Diky za nakopnuti.
Editoval kleinpetr (23. 3. 2018 13:50)
- kleinpetr
- Člen | 480
Tak problem je nejspis v tom, ze pouzivam globalni Error presenter apric moduly, mohl bych opravit vechny linky a pridat k nim :Module:… ale napriklad v komponente na signal, to asi neudelam.
Jak mohu tedy docilit toho aby se mi na FrontModule volal ErrorPresenter z prislusneho modulu ?
ErrorPresenter mam nechat globalne nebo ho musim take premistit do Modulu ?
- kleinpetr
- Člen | 480
Tak uz jsem to vyresil tak, ze z ErrorPresenteru provedu forward primo na Front:Error4xx presenter. Vse uz funguje dobre, az na odkazy v komponente kde je vyhledavaci formular. tzn odkazy v komponente typu {link some!} nebo i samotny action formulare.
Da se to nejak obejit ?