[英]Knp Menu Bundle Current item Symfony 2
我有一个关于为Symfony2渲染KnpMenu Bundle的问题。 从我读过,匹配的路线项应该有一个“当前”类。 我已经阅读了Knp文档,他们正在谈论有关RouteVoter的内容,但我无法使其正常工作。 有任何想法吗?
构建器代码:
<?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->addChild('Home', array('route' => 'index'));
$menu->addChild('About Me', array('route' => 'products'));
return $menu;
}
}
这是10个月了,我按照上面提到的解决方案,但我发现它是错综复杂的。 我使用以下方法。
class Builder extends ContainerAware
{
public function mainMenu(FactoryInterface $factory, array $options)
{
$menu = $factory->createItem('root');
// Manually set the current URI.
$menu->setCurrentUri($this->container->get('request')->getRequestUri());
// ...
}
}
我对语义视而不见,但是像上面代码示例那样的方法有什么问题? 请根据需要提供反馈。
好吧,显然这个解决方案似乎有效: https : //github.com/KnpLabs/KnpMenuBundle/issues/122#issuecomment-6563863
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.