Symfony 2 Nav。菜单,在新窗口中打开

时间:2013-09-23 14:31:26

标签: symfony knpmenubundle

当用户点击导航菜单中的链接时,我正在尝试创建一个新窗口。我目前正在尝试做的只是在url中添加一个target =“_ blank”项,从而创建一个全新的页面,从那里我打算学习如何根据我的各种其他需求来改变它。问题是,我无法让目标转到相关链接。

我试过了:

$dropdown->addChild('Text', array('route' => 
     'routeName', 'routeParameters' => array('parmName' => 'parameter'), 
     'attr' => array('target' => '_blank'));

但是上面的结果是没有将_blank添加到任何东西。

$dropdown->addChild('Text', array('route' => 'routeName',
     'routeParameters' => array('paramName' => 'parameter')))
             ->setAttribute('target', '_blank');

将目标设置为li,而不是链接本身,如下所示。

<li target="_blank" class="first">        <a href="routeLink">Text</a>

是否可以直接将属性设置为链接,以便在单击时在新窗口中打开?

非常感谢您提供的任何时间和帮助。

2 个答案:

答案 0 :(得分:14)

如果你想用addChild方法做到这一点,那值多少钱:

$menu->addChild('Homepage', [
    'route' => 'homepage',
    'linkAttributes' => ['target' => '_blank'],
]);

答案 1 :(得分:11)

如果您使用的是KnpMenuBundle(看起来确实如此) 你可以这样做:

$dropdown->setLinkAttributes(array('target' => '_blank'));