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 要素には最初のクラス属性と現在のクラス属性があります (これは良いことです)。しかし、ブログ ページを選択したとき、li 要素には最後のクラス属性しかなく、現在のクラス属性はありません。なぜだか分からない?

4

1 に答える 1