ZFアプリケーション用に2つの同様のルートを設定していますが、そのうちの1つは機能し、もう1つは機能しません。これは、ユーザーが表示できるようにデータベースのアイテムを表示し、完全に機能します。
ブートストラップでルーティングします。
//Static item profile
$route = new Zend_Controller_Router_Route('item/:item_id',
array('controller'=> 'item',
'action'=> 'index'));
$router->addRoute('item', $route);
そして、アイテムコントローラーのインデックスアクションでアイテムIDを取得する場所:
$id = $this->getRequest()->getParam('item_id');
管理者がアイテムデータを編集できるように、これをバックエンドに設定しています。
//Management back end
$route = new Zend_Controller_Router_Route('manage/edititem/:item_id',
array('controller'=> 'manage',
'action'=> 'edititem'));
$router->addRoute('manage', $route);
そして、これは、マネジャーコントローラーのedititemアクションでIDを取得する場所です。
$item_id = $this->getRequest()->getParam('item_id');
何らかの理由で、/ manage / edititem /:item_idに移動すると、これのitem_idは常にnullになりますが、/ manage / edititem / item_id /:item_idに移動すると完全に正常に機能します。カスタムルートを使用しようとすると、ルートが機能しないのはなぜですか?edititemアクション内のコードをまだ実行しているため、以前のルートに捕らえられず、その上のセミコロンが欠落しておらず、コピーして貼り付けたので、タイプミスではないかと思います。私のルートの何が問題になっている可能性がありますか?