2011-08-11 26 views
1

私は1つの小さなプロジェクトに取り組んでいます。ギャラリー、ユーザーログイン、ショップ、多くの小さなテキストセクションがあります。 私は例のためにかなりのURLを作りたい:CakePHP:経路と静的ページ

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」になりますが、なし/ページ/ビュープレフィックス

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')); 

routes.phpで作成するにはどうすればよいですか?多分あなたはいくつかの一般的な例を挙げることができますか?

ありがとうございます!ギャラリーのために

+0

私はドンあなたのルートに何か間違いがないか見てください。何がうまくいかないの? –

+0

私は、すべての機能(製品/ギャラリー)のルートを委任しないで、この作業を得るために、posibilityがあることを知りたいだけです。 – Orbitum

+0

「すべての機能ルートを委任する」とはどういう意味ですか? –

答えて

0

- >/eng/gallery(GalleryController ::インデックス):

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

ギャラリーアルバム/eng/gallery/album_name_slug(GalleryController ::ビュー)の場合:

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

繰り返し製品のコントローラ

+0

コントローラとメソッドをデフォルトで使用することはできません。私はドライソリューションを探しています。もちろんそのようなものがなければ、私はあなたの答えを受け入れるでしょう! – Orbitum

+0

私のキャッチオールは以下から成っています: Router :: connect( '/ *'、array( 'controller' => 'ページ'、 'action' => 'display')); – minaz