1

私はミニcmsを構築しようとしています。これにより、すべてのURLが「製品」コントローラーのインデックスアクションに送られます。

products_controllerはURLをチェックし、それをパラメーターとして扱うため、「/ widgets」はindex($ url)関数にヒットし、「widgets」を$urlパラメーターとして渡します。

次に、urlというフィールドをチェックして次のようなルックアップを実行します。

$product= $this->Product->find('first', array('conditions' => array('Product.url LIKE' => $url)));

次に、この$productを自分の見解に吐き出します。この方法は、ルートに商品を追加しなくても、データベースに商品を追加し、商品のURLを指定できることを意味します。また、すべて検索を使用して、データベース内のすべてのURLで単純に構成されているナビゲーションバーもあります。

私の問題は私のルーティングと私の管理者です。すべてのURLをproducts_controllerのindex()にルーティングしているため、管理セクションで問題が発生することはありません。このため、管理者を別のコントローラーに配置し、URLをアクション(インデックス、表示、編集、追加、削除)に手動で接続しました。URLが正しくルーティングされておらず、管理ルーティングが壊れているため、管理セクションが機能しません。

誰かがそのような「キャッチオール」ルートを持つ方法を見ることができますか、そしてまた私の管理者ルーティングを機能させます。

私がこれを十分に明確に説明したことを願っていますが、そうでない場合は、これを理解したいので、叫んでください。

4

1 に答える 1

2

デフォルトの管理ルートをオーバーライドするルートがある場合は、routes.phpに次のようなものを追加してオーバーライドします。

    Router::connect('/admin/:controller/:action/*',
                   array('admin'=>true));
于 2009-11-24T17:06:19.370 に答える