0

我正在学习并开始使用 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 元素有一个first和一个current class 属性——这很好——但是当我选择 Blog 页面时,li 元素只有last class 属性而没有current class 属性。我不明白为什么?

4

1 回答 1

0

这可能是由于您在以下位置有多个具有相同 URL/的路由BlogController

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

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

于 2016-07-22T08:53:36.973 回答