我正在学习并开始使用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元素只有最后类属性,但没有当前类属性。 我不明白为什么?
答案 0 :(得分:0)
这可能是由于/
中有多个具有相同网址BlogController
的路由引起的:
* @Route("/", name="admin_index")
* @Route("/", name="admin_post_index")
如果您使用相同的URL,则不需要多条路由,只需重复使用相同的路由。