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 要素には最後のクラス属性しかなく、現在のクラス属性はありません。なぜだか分からない?