CakePHP v1.3.7で安定したアプリケーションを開発しています。 URL:my.domain/u/idのidがデータベース内のユーザーのIDである単純なユーザープロファイルページを生成したいと考えています。CakePHP 1.3.7設定されたURLの代わりにデフォルトのURLを返す逆ルーティング
だから私は、アプリ/設定/ routes.phpの中でこれを書いた(とのみ):
Router::connect('/u/:id',
array('controller' => 'Users', 'action' => 'profile')
,array('pass'=>array('id'),'id'=>'[0-9]+')
);
私はブラウザでmy.domain/U/120を入れたときに上記のコードは、正常に動作します私はHTMLヘルパーを使用してこのページへのリンクを作成しようとすると、それは、利用者120
のプロファイルを示している。しかし:
// some code in a view
$this->html->link('Test', array('controller'=>'Users', 'action'=>'profile', 120))
HTMLヘルパー(でやって詩ルーティング、私は思う)defautのCakePHPのフォームでURLを生成します。routes.phpの中の設定に基づいて<a href="https://stackoverflow.com/users/profile/120">Test</a>
、それは次のようになります。<a href="/u/120">Test</a>
、右?
私に何か不足していますか?
ありがとうございました。
また、 'controller' => 'users' lower-caseを実行する必要があります。もしあなたがURLに 'id' => $ idを入れたくなければ、ルータ:: connect( '/ u/*' ....)へのルートを変更したいのであれば、 – dogmatic69