Invalid link: Cannot load presenter ‚Front:Admin‘
- kiCkZ
- Člen | 153
Zdravim,
mam problém s rozdělením do modulů, nevíte jak nastavit link
v defaul.latte ve FrontModulu na Admin ?
Vyskakuje mi stále tato hláška: Invalid link: Cannot load presenter
‚Front:Admin‘, class ‚FrontModule\Presenters\AdminPresenter‘ was
not found
Struktura souborů:
App
AdminModule
presenters
templates
model
FrontModule
presenters
templates
model
RouterFactory.php
namespace App;
use Nette;
use Nette\Application\Routers\RouteList;
use Nette\Application\Routers\Route;
class RouterFactory
{
use Nette\StaticClass;
/**
* @return Nette\Application\IRouter
*/
public static function createRouter()
{
$router = new RouteList;
$router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin/<presenter>/<action>[/<id>]','Homepage:default');
$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]','Homepage:default');
return $router;
}
}
{block content}
<a n:href="Admin:Homepage">Administrace</a>
{/block}
HomepagePresenter.php
namespace FrontModule\Presenters;
use Nette;
use FrontModule\Model;
class HomepagePresenter extends BasePresenter
{
public function renderDefault()
{
$this->template->anyVariable = 'any value';
}
}
Editoval kiCkZ (15. 8. 2017 16:15)
- David Matějka
- Moderator | 6445
kdyz chces odkazovat absolutne na jiny modul, musis pred destination pridat dvojtecku. navic ti tam chybi akce, ma to tedy vypadat takhle:
<a n:href=":Admin:Homepage:default">Administrace</a>
respektive za dvojteckou nemusi byt "default", ktere je implicitni:
<a n:href=":Admin:Homepage:">Administrace</a>
- kiCkZ
- Člen | 153
David Matějka napsal(a):
kdyz chces odkazovat absolutne na jiny modul, musis pred destination pridat dvojtecku. navic ti tam chybi akce, ma to tedy vypadat takhle:
<a n:href=":Admin:Homepage:default">Administrace</a> respektive za dvojteckou nemusi byt "default", ktere je implicitni: <a n:href=":Admin:Homepage:">Administrace</a>
To jsem udělal a mam tu další hlášku:
Invalid link: Cannot load presenter ‚Admin:Homepage‘, class ‚AdminModule\Presenters\HomepagePresenter‘ was not found.
Přitom Homepage presenter mam přímo v AdminModule → presenters → zde
Editoval kiCkZ (16. 8. 2017 7:35)
- kiCkZ
- Člen | 153
Zdeno1981 napsal(a):
Pokud jde o HomepagePresenter který si uvedl v předchozím příspěvku, tak máš špatný namespace.
Ten je pouze ve FrontModule
Jinak tam mam samozřejmě:
namespace AdminModule\Presenters;
use Nette;
class AdminPresenter extends BasePresenter
{
public function renderDefault()
{
$this->template->admin;
}
}
- Zdeno1981
- Člen | 115
kiCkZ napsal(a):
David Matějka napsal(a):
kdyz chces odkazovat absolutne na jiny modul, musis pred destination pridat dvojtecku. navic ti tam chybi akce, ma to tedy vypadat takhle:
<a n:href=":Admin:Homepage:default">Administrace</a> respektive za dvojteckou nemusi byt "default", ktere je implicitni: <a n:href=":Admin:Homepage:">Administrace</a>
To jsem udělal a mam tu další hlášku:
Invalid link: Cannot load presenter ‚Admin:Homepage‘, class ‚AdminModule\Presenters\HomepagePresenter‘ was not found.
Přitom Homepage presenter mam přímo v AdminModule → presenters → zde
Psal jsi ale, že ho máš přímo v AdminModule a teď, že ho máš jen ve
FrontModule.
Pak tedy nechápu, proč se snažíš volat na presenter Homepage
v modulu Admin.
Editoval Zdeno1981 (16. 8. 2017 8:09)
- kiCkZ
- Člen | 153
Zdeno1981 napsal(a):
kiCkZ napsal(a):
David Matějka napsal(a):
kdyz chces odkazovat absolutne na jiny modul, musis pred destination pridat dvojtecku. navic ti tam chybi akce, ma to tedy vypadat takhle:
<a n:href=":Admin:Homepage:default">Administrace</a> respektive za dvojteckou nemusi byt "default", ktere je implicitni: <a n:href=":Admin:Homepage:">Administrace</a>
To jsem udělal a mam tu další hlášku:
Invalid link: Cannot load presenter ‚Admin:Homepage‘, class ‚AdminModule\Presenters\HomepagePresenter‘ was not found.
Přitom Homepage presenter mam přímo v AdminModule → presenters → zde
Psal jsi ale, že ho máš přímo v AdminModule a teď, že ho máš jen ve FrontModule.
Pak tedy nechápu, proč se snažíš volat na presenter Homepage v modulu Admin.
Promiň blbě jsem se vyjádřil, jak ve FrontModulu tak i v AdminModulu
mam Homepage presenter.
Proto nechápu, proč se mi nezavolá.