1
KNP MenuBundle은 매우 동적 인 방식으로 메뉴를 처리하기위한 Symfony2 번들입니다. 이 번들은 간단한 튜토리얼 예제 인 here과 함께 제공됩니다. 제안 된 예제에서 Builder 클래스 내에서 저자는 의 setCurrentUri() 함수를 $ 메뉴 개체에서 호출해야한다고 생각했습니다. 그러나 $ menu는 위에서 언급 한 기능을 구현하지 않는 MenuItem 클래스의 인스턴스입니다.KnpMenuBundle 및 제안 된 자습서 예 : 뭔가 잘못 되었나요?
<?php
// src/Acme/DemoBundle/Menu/Builder.php
namespace Acme\DemoBundle\Menu;
use Knp\Menu\FactoryInterface;
use Symfony\Component\DependencyInjection\ContainerAware;
class Builder extends ContainerAware
{
public function mainMenu(FactoryInterface $factory, array $options)
{
$menu = $factory->createItem('root');
$menu->setCurrentUri($this->container->get('request')->getRequestUri());
$menu->addChild('Home', array('route' => 'homepage'));
$menu->addChild('About Me', array(
'route' => 'page_show',
'routeParameters' => array('id' => 42)
));
// ... add more children
return $menu;
}
}
PS : 중요한 수입이 예에서 누락되었음을 주목, 나는 위해 다음에보고하는
내가 here를 제공하는 예 클래스의 코드를보고, 응답 자체가 포함 된 만들려면 완전성의 :use Symfony\Component\HttpFoundation\Request;
그 버전을 설치하려했지만 "그렇지 않은 저장소"예외가 발생했습니다. – JeanValjean
이제는 작동합니다. 당신의 대답은 괜찮습니다! 나는 그것을 받아 들일 것이다. 1.1.2가 최신 버전입니까? – JeanValjean
예, 1.1.2는 최신 태그이며 번들과 잘 작동합니다. –