0

バンドルの1つ(「ベース」バンドル)に、いくつかのオプションを含むナビゲーションリストを作成したいと思います。他のバンドルをそのリストに追加するにはどうすればよいですか?

4

1 に答える 1

2

もっと詳しい質問をしたいのですが、とにかくここに行きます。

まず、KnpBundlesで、メニュー機能をすでに提供しているバンドルを確認します。KnpMenuBundleのようなもの。いいね?いいでしょう、それを使ってください。

あなたの好みに合うものはありませんか?次に、自分でロールします。私はこのようなもので行きます:

  1. NavListManager基本バンドルにクラスを作成AbstractNavListし、ナビゲーションリストにオプションを追加する他のすべてのバンドルによって拡張されるクラスを作成します。

  2. 各バンドルは、をNavList拡張するクラスを提供する必要がありますAbstractNavList。これらのクラスは、ナビゲーションリストオプションを提供する必要があります。

  3. 基本バンドルでメソッドを編集して、を使用して各バンドルのクラスDependencyInjection\<MyBundle>Extension::load()を検索します。収集したすべてのクラスをに含めます。NavList$container->getParameter('kernel.bundles')NavListManager

  4. 次に、テンプレートのようなものを呼び出して$navman->render()、ナビゲーションリストを生成します。

于 2012-04-12T17:58:42.547 に答える