CakePHP: маршруты и статические страницы - PullRequest
1 голос
/ 11 августа 2011

Я работаю над одним небольшим проектом - веб-сайтом. Есть галерея, логин пользователя, магазин и множество небольших текстовых разделов - с изображениями и без. Я хочу сделать красивые URL, например:

Gallery -> /eng/gallery (GalleryController::index)
Gallery album /eng/gallery/album_name_slug (GalleryController::view)
Shop -> /eng/products (ProductsController::index)
Shop one product -> /eng/products/product_name_slug (ProductsController::view)

и все другие (текстовые) страницы переходят в "PagesController", но без префикса / pages / view

Contacts -> /eng/contacts
About us -> /eng/about_us

Я думал, что смогу сделать что-то вроде этого:

// Homepage
Router::connect('/', array('controller' => 'homepage', 'action' => 'display'));

/* There delegate routes for each controller/method (gallery, shop, etc) */

// All what is not in thease controllers/methods goes to pagescontroller
Router::connect('/*', array('controller' => 'pages', 'action' => 'view'));

Какой лучший способ сделать это в rout.php? Может быть, вы можете привести какой-то общий пример?

Спасибо!

1 Ответ

0 голосов
/ 11 августа 2011

Для галереи -> /eng/gallery (GalleryController :: index):

Router::connect('/eng/gallery', 
    array('controller' => 'gallery', 'action' => 'index'));

Для альбома Gallery /eng/gallery/album_name_slug (GalleryController :: view):

Router::connect('/eng/gallery/:album', 
    array('controller' => 'gallery', 'action' => 'view'), 
    array('pass' => array('album'),'album' => '[0-9a-zA-Z]+') 
); 

повторКонтроллер продуктов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...