2010-11-23 9 views
0

xxxがパラメータであるために、ユーザがサーフしてhttp://www.yyy.com/xxxにして欲しいです。 www.yyy.com/xxx/zzzを参照してください。私は正常に動作し、ルーティング次ていますCakephp Routing

Router::connect('/:town', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town'))); 
Router::connect('/:town/:category', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town', 'category'))); 

をしかし、私は別のコントローラの例にTOTサーフィンをしたいとき、私はそれのためのルーティングを行う場合を除き、それはバックの場所コントローラに行くwww.yyy.com/differentcontroller/add。 ..

アイデア?

答えて

0

ケーキのルーティングに関する私の記憶はかなり錆びていますが、コントローラを使用することができます:正しく覚えていれば、ケーキを有効なコントローラ/アクションのペアにするルール。

1

ルーティングリストの2番目のルールは、ドメイン名の後の文字の組み合わせの2つのセットを探し、最初を町として、2番目をカテゴリとして扱うことです。その結果、誤って「別のコントローラ」を町名として解析し、「追加」をカテゴリとして解析します。このURL構造を維持したい場合は、「追加」ルートなどの状況をカバーするために、ルーティングファイルに特定のルートを追加するか、既存のURLレイアウトを次のようなより具体的なものに変更する必要があります。

Router::connect('/places/:town', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town'))); 
Router::connect('/places/:town/:category', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town', 'category'))); 
+0

こんにちは私の他のコントローラ用の明示的なルートを定義していますが、問題は、Htmlヘルパーを使用して元の場所にリンクしたいときに、リンクメソッドです。 エコー$ this-> Html->リンク(__( 'View'、true)、配列( 'アクション' => 'ビュー'、$ place ['住所'] ['town']、$ place ['Place ']['カテゴリー'])); は、http://www.yyy.com/Town/Categoryではなくhttp://www.yyy.com/places/view/Town/Categoryにルーティングします –