현재 프로젝트에 KnpMenu를 사용하여 내비게이션 트리 로직을 처리하려고합니다. 나는이 같은 메뉴 트리 구축이 : 단지 현재 활성화 된 메뉴 항목이 표시됩니다 접힌 메뉴 트리를 렌더링 할 수 있다면 궁금KnpMenu를 사용한 접이식 메뉴 탐색
use Knp\Menu\Matcher\Matcher;
use Knp\Menu\MenuFactory;
use Knp\Menu\Renderer\ListRenderer;
$factory = new MenuFactory();
$menu = $factory->createItem('my_menu');
$menu->addChild('home', array('uri' => '/', 'label' => 'Home'))
->addChild('about', array('uri' => 'about', 'label' => 'About'));
$cat1 = $menu->addChild('category_1', array('uri' => 'category_1', 'label' => 'Category 1'));
$cat1_1 = $cat1->addChild('category_1_1', array('uri' => 'category_1_1', 'label' => 'Category 1.1'));
$cat1_1->addChild('category_1__1', array('uri' => 'category_1_1_1', 'label' => 'Category 1.1.1'));
$cat1_1->addChild('category_1_1_2', array('uri' => 'category_1_1_2', 'label' => 'Category 1.1.2'))->setCurrent(true);
$cat1->addChild('category_1_2', array('uri' => 'category_1_2', 'label' => 'Category 1.2'));
$renderer = new ListRenderer(new Matcher());
echo $renderer->render($menu);
합니다. 다른 항목은 표시하면 안됩니다. 설명서에서이 작업을 수행하는 방법을 찾지 못했습니다.
해결책이있는 사람이 있습니까?
는
안녕하세요, 빠른 답변 주셔서 감사합니다. 너 내가 정확히 무엇을 찾고 있는지 정확하게 이해했다. 나는 너의 지점에서 KnpMenu를 보았다. 내가 이해할 수없는 것은 현재 MenuItem에 true로 설정된 displayChildrenIfAncestorCurrent가 있는지 여부를 확인하고이 항목을 표시할지 여부를 결정하는 논리입니다. – user1036651
업데이트 암탉 사무실에 도착하는 데 1 시간 정도 걸립니다 – catchamonkey
@ user1036651 예를 사용하여 어디에서 사용했는지 업데이트했습니다. – catchamonkey