Nastavenie domovskej stránky

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

Zdravím vás, chcem sa opýtať ako nastaviť (vytvoriť) domovsku stránku tak aby zobrazovala určitú stránku. Chápem, že môžem použiť:

$router[] = new Route('<presenter>/<action>[/<id>]', array(
			'presenter' => 'Page',
			'action' => 'view',
			'id' => 123
		));

ale odkazovať potom na domovsku stránku takýmto spôsobom Page:view 123 sa mi nepozdaváva, lebo pametať si id článku nie je moc efektívne.

Ako by ste mi poradili postupovať v tomto prípade alebo ako riešite domovskú stránku vy?

Azathoth
Člen | 495
+
0
-

já si v basePresenteru udělám konstantu default presenter a konstantu default action, kam dám ty defaultbí hodnoty a v routeru i v prezenterevh odkazuji na ty konstanty

PhelixMad
Člen | 36
+
0
-

No riešenie by to aj bolo ale nepríde mi ako štastné riešenie.

Azathoth
Člen | 495
+
0
-

já vím, ale lepší jsem nevymyslel

F.Vesely
Člen | 369
+
0
-

A kde si tu informaci, kterej clanek je uvodni uchovavas? Zrejme v databazi, tak si to z te databaze ziskej. Pak uz je jen na uvazeni, jestli to bude v RouterFactory, nebo az v PagePresenteru (id bude null), nebo mit HomepagePresenter. Ja vetsinou na homepage mam jinou sablonu a vzhled nez na ostatnich strankach, takze to resim pres HomepagePresenter.

iru
Člen | 110
+
0
-

Já jsem potřebovala jednu stránku vypsat jinak, tak jsem to udělala takto:

$router[] = new Route('nazev-stranky', array(
            'presenter' => 'Page',
            'action' => 'view',
            'id' => '123',
        ));

Nicméně pro domovskou stránku mi přijde vhodnější použít HomepagePresenter a odkazovat se na ni čistě jen doménou.

Editoval iru (5. 7. 2015 20:40)

Unlink
Člen | 298
+
0
-

Ešte by sa dal spraviť HomepagePresenter, všade odkazovať naň a tam to potom fordwardnúť kde potrebuješ.
https://api.nette.org/…ter.php.html#…

Martk
Člen | 661
+
0
-

Já jsem to vyřešil s menší úpravou metody createRequest, přesněji proměnné destination. Naházel jsem do neonu nějaké data (u nich vím, že se budou často měnit):

parameters:
	shortDestinations:
		home.front: ':Front:Homepage:default'
		home.admin: ':Admin:Homepage:default'

a už stačilo veselé a hlavně jednoduše používat:

$this->link('home.front', [12]);