2011-12-20 69 views
1

我有Symfony2上的前端和上面的菜單和側邊欄菜單。我該怎麼做:在Symfony2中創建菜單

  1. 頂部菜單是一個水平的鏈接集合。每個鏈接都屬於一個包。例如,鏈接「SMS」指的是MySMSBundle,依此類推。\
  2. 側邊欄菜單是由包功能特定的。例如,MySMSBundle的側邊欄菜單看起來像「發送短信,收件箱,發件箱等」。

我想控制從MySMSBundle和我將添加的每個其他包。

您對Symfony2中的菜單組織有任何想法或經驗嗎? 感謝您的回答!

UPD:在itialization上,每個bundle添加到頂層菜單集合中它自己的鏈接(image和其他東西),當加載某個bundle時,該bundle必須設置「active」菜單項。這樣對嗎?我怎樣才能做到這一點?

+0

我有同樣的問題:http://stackoverflow.com/questions/9316709/symfony-2-autogenerated-navigation-menus但似乎沒有這樣的功能尚未實施。讓我知道你是否找到有用的東西。 – 2012-02-16 18:24:40

回答

3

我發現KnpMenu是非常靈活和強大的PHP菜單庫。在Symfony中,它被集成爲KnpMenuBundle

你的問題是相當具體的,你可能需要建立你自己的菜單生成器。

如果你想讓你的捆綁包自己註冊菜單項,那麼我想你可以考慮使用監聽器。

您也可以在每個包中提供菜單配置文件。菜單生成器會比使用菜單的捆綁列表更加清晰,並在其中查找菜單文件。對於找到的文件,它會建立菜單。

另外,看看SonataAdminBundle是如何做到這一點的。