Upload admin sekce zmatenost

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
qteck
Člen | 164
+
0
-

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?

Tabetha
Člen | 140
+
0
-

nie som si istý, ale máš to definované moduly v routri?

qteck
Člen | 164
+
0
-

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
+
0
-

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
+
0
-

Okay díky chlapcí, moc mi to pomohlo :-))

qteck
Člen | 164
+
0
-

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
+
0
-

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
+
0
-

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;