Upload admin sekce zmatenost
- qteck
- Člen | 164
Ahoj,
chci si udělat administraci k webu, chci si tam přidat upload a zajímá mě, jakým způsobem mohu rozčlenit front and admin end.
Našel jsem si moduly a tak víceméně vím.
Mám presenter Upload v modulu admin ve složce presenters. Chci na něj odkázat jen tak z url baru v prohlížeči a vytvářím link:
admin/upload/default ale píše mi to že přesenter nebyl nalezený.
Ta cesta vypadá následovně:
AdminModule/presenters/UploadPresenter.php
Presenter vypadá takto:
<?php
namespace AdminModule\App\Presenters;
use Nette,
App\Model;
/** href="plink Admin:Upload:"
* Homepage presenter.
*/
class UploadPresenter extends BasePresenter
Co se týče těch jmeoných protorů, to si nejsem vůbec jistej.
a taky ono USE, to naznačuje použití traits, že?
- qteck
- Člen | 164
tak jsem to tam přidal takto:
$router = new RouteList();
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
$router[] = new Route('admin/<presenter>/<action>[/<id>]', 'Admin:default');
znamená to že by měl odkaz vypadat takto? :admin/upload/default
neon vypadá takto:
services:
- Repository\Homepage
- Repository\Profil
- Repository\Article
- Repository\Galleries
- Repository\ShowGallery
- App\RouterFactory
router: @App\RouterFactory::createRouter
- besanek
- Člen | 128
Routy jsou závislé na pořadí. Více konkrétní se dávají nahoru. Prohoď je, jinak se ti vždy matchne ta první.
A default by v tý admin routě by měl být
Admin:Homepage:default
. Pokud tam nemáš Homepage presenter tak
dej klidně Upload či nějaký jiný. Jinak doporučuji prostudovat dokumentaci
k routování.
- qteck
- Člen | 164
Jetšě jedna otázka, když mám adminModul, musím mít vytvořenej i frontModul?
dvě samostatné složky?
Teď jsem si vytvořil v admin modulu basepresenter a píše mi to že už tam jednou je. co s tím?
Když ho v admin modulu podědím z front modulu kterej nemá složku fronmodule tak říká že je nenalezenej.
díky
- qteck
- Člen | 164
Ou nefunguje to tak jak jsem předpokládal.
teď má každej odkaz ve front endu v url adrese admin/…
myslel sem, že se to jakoby oddělí nějakým způsobem. že to pojede na těch templates z front endu a jen si tam naházím nějaký adm funkce.
ale zdá se teda že to úplně nechápu.
měli by to býýt dva oddělený weby, admin a front?
vytvořil jsem si tam teďka hlavni stranku, teplates na upload a presenter na uvodku a template.
app/router/.. mám routery nastavené takto:
public function createRouter()
{
$router = new RouteList();
$router[] = new Route('admin/<presenter>/<action>[/<id>]', 'Admin:Hompepage:default');
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
return $router;
}
a zajímá mě proč tam mám po zadání odkazu : article/default/27-smejak přesměrováno vždy na admin/article/default/27-smejak nebo i úvodka je admin/ ale furt odkazuje na front end ne na ten admin modul ve kterém je ten homepage připravenej.
- besanek
- Člen | 128
Vytvoř si nový RouteList
pro modul Admin a do něj vkládej
jeho routy.
$router = new RouteList();
$router[] = $admin = new RouteList('Admin');
$admin[] = new Route('admin/<presenter>/<action>[/<id>]', 'Admin:Hompepage:default');
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
return $router;