Routování s Moduly a odkazy
- elektricman
- Člen | 29
Zdravím,
doufám že to není stupidní dotaz, už se v tom vrtám několik
hodin :(
Potřebuju udělat Routy, tak, aby
www.adresa.cz/admin/presenter/action
, šlo na modul Adminwww.adresa.cz/presenter/action
, šlo na modul Frontwww.adresa.cz/url-adresa
, šlo na modul Front:Default:default s parametrem url, pokud samozřejmě neexistuje takovýto presenter.
Routery mám takto a pochybuju že je to nejlepší řešení ( ale jede to ).
<?php
$router = $application->getRouter();
$router[] = new Route('index.php', array(
'presenter' => 'Default',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('<url>/', array(
'module' => 'Front',
'presenter' => 'Default',
'action' => 'default',
));
$router[] = new Route('<presenter>/<action>/', array(
'module' => 'Front',
'presenter' => 'Default',
'action' => 'default',
));
$router[] = new Route('Admin/<presenter>/<action>/', array(
'module' => 'Admin',
'presenter' => 'Default',
'action' => 'default',
));
$router[] = new SimpleRouter('Default:default');
?>
Problém je v tom že se mě nedaří vytvořit z FrontModule @layoutu odkaz na AdminModule
<ul>
{foreach $menuList as $menuItem}
<li><a href="{plink Default:default $menuItem->url}">{$menuItem->name}</a></li>
{/foreach}
<li><a href="{plink Registrace:serviceteamu}">Registrace ST</a></li>
<li><a href="{plink Registrace:ucastniku}">Registrace Účastníků</a></li>
<li><a href="{plink Admin:Default:default}">Admin</a></li>
</ul>
U toho admina to vypisuje chybu
error:%20Cannot%20load%20presenter%20'Front:Admin:Default',%20class%20'Front_Admin_DefaultPresenter'%20was%20not%20found%20in%20'C:\Program%20Files%20(x86)\Apache%20Software%20Foundation\Apache2.2\htdocs\obrok/app/FrontModule/AdminModule/presenters/DefaultPresenter.php'.
Nevíte jak nato?
Editoval elektricman (10. 3. 2010 19:29)
- Mikulas Dite
- Člen | 756
Na jiný modul se musíš odkazovat absolutně, tedy
{plink ':Admin ...'
dál je to stejné.
A tu Admin
routu si dej před tu
<presenter>/<action>
, takhle by ti požadavek na admin
model bez action (mohla být default
ní) chytla
špatná routa.
//Edit: je hezčí psát to s uvozovkama, {plink 'target'}
,
než bez nich ;)
Editoval Mikulas Dite (10. 3. 2010 19:32)
- elektricman
- Člen | 29
dvojtečka před to,.. to mě nenapadlo :) Díky,..
Trochu sem popřeházel to pořadí a vypadá to že to šlape, jak má,..
Dík :)
- Cifro
- Člen | 245
Práve túto fíčuru s dvojtečkou na začiatku som dopisoval do dokumentácie. Tiež som mal s tým problém ako ty.