Routovani pro vlastni strukturu
- Piticu
- Člen | 93
Ahoj vsem,
mam nasledujici strukturu slozek
Hlavni cil je mit Presenter pro slozku Header,Footer,Content, atd. Kdyz vyzkousime napr. odkaz: "":http://localhost/…plate/header tak dostanu error:
Nette\Application\BadRequestException #404
Cannot load presenter 'Template:Header', class 'App\TemplateModule\Presenters\HeaderPresenter' was not found.
pritom HeaderPresenter tam je.
Muzete mi prosim nekdo porait co s tim? Predpokladam ze, musim nastavit routovani ale nevim jak. Zkusil jsem:
public static function createRouter()
{
$router = new RouteList;
$router[] = new Route('<module>/<presenter>/<action>/[<id>]', 'Homepage:default');
return $router;
}
Bez uspechu.
Edit: Zmenil jsme fotku
Editoval Piticu (6. 8. 2017 15:26)
- David Matějka
- Moderator | 6445
nezalezi na slozce, ale na namespace – je HeaderPresenter ve spravnem namespace?
- Piticu
- Člen | 93
@DavidMatějka Tam mam
namespace App\Presenters;
coz v tomhle pripade bude spatny. Mame ale i BasePresenter, ktery je ulozeny ve slozce presenters, tak jak v tomhle pripade napsat namspace abych mel pristup k oboum Presenteru? (BasePresenters ve slozce presenters a HeaderPresenters ve slozce **TemplateModule/presenters **
Edit:
Tak jsem ted nastavil namespace na
namespace App\TemplateModule\Presenters;
ale zase dostanu
Case mismatch on class name 'App\TemplateModule\presenters\HeaderPresenter', correct name is 'App\TemplateModule\Presenters\HeaderPresenter'
Jsem tak trochu zmateny.
Editoval Piticu (6. 8. 2017 17:46)
- Piticu
- Člen | 93
``> David Matějka napsal(a):
>
jak mas nastavene v configu
application -> mapping
?
*: App\*Module\Presenters\*Presenter
Zkusil jsem i
*: *Module\*Presenter
Musim tam nejak rozepsat kazdy Modul?
Edit:
Jeste jsem zkusil:
Template: App\TemplateModule\Presenters\*Presenter
a presenter HeaderPresenter
namespace App\TemplateModule\Presenters;
use Nette;
class HeaderPresenter extends \App\Presenters\BasePresenter
{
ale porad dostavam nejaky error
Editoval Piticu (6. 8. 2017 18:30)