Я создаю сайт с CakePHP, и мне нужно установить некоторые URL-адреса для статических страниц, которые обрабатываются контроллером страниц.В основном я хочу иметь два разных типа статических страниц, с URL-адресами
mysyte.com / page
, которые должны соответствовать app/views/pages/page.ctp
и
mysite.com / special / page
, которая должна соответствовать app/views/pages/special-page.ctp
.Обратите внимание, что в первом случае страница также может быть «особенной».
Я немного растерялся из-за маршрутизации, которую я должен настроить для этой ситуации.Я попытался использовать два маршрута
Router::connect(
'/special/:mypage',
array('controller' => 'pages', 'action' => 'display'),
array('pass' => array('mypage'), 'mypage' => '[a-z]+')
);
Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));
и в контроллере страниц
function display($page = null, $mypage = null) {
if ($mypage) {
$path = array('special-'. $mypage);
}
else {
$path = func_get_args();
}
//The rest of the display action
}
Проблема в том, что кажется, что :mypage
передается в качестве первого параметра в действииpage
, а не mypage
параметр.
Как я могу это исправить?