2

我刚试过 knpLabs MenuBundle

我没有收到当前项目的标志,我关注来自https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md的教程

Here is my code

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('Innehåll', array('route' => 'Content'));

    $menu->addChild('Skärmlayouter', array('route' => 'Layout'));

    $menu->addChild('Media', array('route' => 'Media'));

    $menu->addChild('Områden & fastigheter', array('route' => 'Container'));

    $menu->addChild('Användare & behörigheter', array('route' => 'UserManagement'));

    return $menu;
  }
}

这是它产生的结果:

<ul>
<li class="first">
<a href="/biztv_symfony/web/app_dev.php/Content/">Innehåll</a>        
</li>

<li>
<a href="/biztv_symfony/web/app_dev.php/Layout/">Skärmlayouter</a>        
</li>

<li>
<a href="/biztv_symfony/web/app_dev.php/Media/">Media</a>        
</li>

<li>
<a href="/biztv_symfony/web/app_dev.php/Container/">Områden &amp; fastigheter</a>        
</li>

<li class="last">
<a href="/biztv_symfony/web/app_dev.php/UserManagement/">Användare &amp; behörigheter</a>        
</li>

</ul>

它声称会自动包含活动链接标志(按“当前”类),这就是我想尝试这个捆绑包的原因,所以我不必干预那部分的编码。

是我遗漏了一个关键点,还是我正在关注的这个文档遗漏了一个关键部分?

4

1 回答 1

4

你应该使用setCurrentUri方法。如:

$menu = $factory->createItem('root');
$menu->setCurrentUri($this->container->get('request')->getRequestUri());
于 2012-07-21T15:13:28.150 回答