2013-09-23 49 views
3

我試圖在用戶單擊導航菜單中的鏈接時創建一個新窗口。我現在試圖做的只是爲網址添加一個target =「_ blank」項目,從而創建一個全新的頁面,從那裏我打算學習如何改變它以滿足我的各種其他需求。問題是,我無法讓目標去關聯的鏈接。Symfony 2 Nav。菜單,在新窗口中打開

我已經嘗試:

$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> 

有沒有辦法將屬性直接設置爲鏈接,以便它在點擊時在新窗口中打開?

任何時間和幫助,你可以提供非常感謝。

回答

10

如果您正在使用KnpMenuBundle(它看起來會) 你可以做這樣的:

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

這正是我所要求的。非常感謝幫助。 – Gyhth

11

對於什麼是值得的,如果你想這樣做,在addChild方法:

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