Symfony KnpMenu在菜单项上没有当前类

时间:2016-07-22 07:03:43

标签: symfony knpmenubundle

我正在学习并开始使用KnpMenu软件包。我读到“......当前的类被uri ...添加到”当前“菜单项中”,但我无法弄清楚这究竟意味着什么。 我尝试了这样的2项菜单:

class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction(Request $request)
    {

**
 * Controller used to manage blog contents in the backend.
 *
 * @Route("/admin/post")
 * @Security("has_role('ROLE_ADMIN')")
 *
 */
class BlogController extends Controller
{
      /**
     * Lists all Post entities.
     *
     * @Route("/", name="admin_index")
     * @Route("/", name="admin_post_index")
     * @Method("GET")
     */
    public function indexAction()
    {

使用以下构建器

public function mainMenu(FactoryInterface $factory, array $options)
    {
        $menu = $factory->createItem('root');

        $menu->addChild('Home', array('route' => 'homepage'));

        $menu->addChild('Blog', array('route' => 'admin_post_index'));

        return $menu;
    }

当我选择主页时,li元素有第一个当前类属性 - 这很好 - 但是当我选择博客页面时, li元素只有最后类属性,但没有当前类属性。 我不明白为什么?

1 个答案:

答案 0 :(得分:0)

这可能是由于/中有多个具有相同网址BlogController的路由引起的:

 * @Route("/", name="admin_index")
 * @Route("/", name="admin_post_index")

如果您使用相同的URL,则不需要多条路由,只需重复使用相同的路由。