2012-01-10 7 views
0

データベースからルーティングルールを追加したい場合、どうすればよいですか? https://github.com/symfony-cmf/ChainRoutingBundleを使用すべきですか、それとももっと簡単なソリューションがありますか?データベースからのsymfony2ルーティングルール

+1

だけで、特定の質問をすると、あなたが適切なソリューションを知らない場合は、誰のせいにしないでください。 ;)動的ルートを作ることに関して、私はlistenerをkernel.requestイベントに使用します。 [詳細情報](http://symfony.com/doc/2.0/book/internals.html#kernel-request-event) –

答えて

14

kernel.requestを聞き、ルートのデータベースを照会する$request->getPathInfo()を使用しています。見つかった場合は、要求に_controller属性を設定します。

​​

あなたはそれがルータの前に実行されますので、あなたのリスナーが32より大きい優先順位を持っている必要があります(symfonyの2.1)masterブランチを実行している場合。

+0

おかげで、良いアイデア – Ivan

0

おそらく仕事はあなたのデフォルトコントローラへのルートを追加することである可能性が最も簡単な方法:

@Route( "/ページ/ {}スラッグ"、要件= { "+" "スラッグ" =})

次にアクションで、データベーステーブルから{スラグを}ルックアップ。

@Route/'s in routesを参照してください。

+0

おかげで、私は、データベースからルーターを追加する必要があります。 detaied情報を持つsonataAdminバンドルが見つかりました。 – Ivan