2013-09-23 3 views
3

사용자가 탐색 메뉴에서 링크를 클릭하면 새 창을 만들려고합니다. 제가 현재 시도하고있는 것은 url에 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> 

속성을 링크에 직접 설정하여 클릭하면 새 창에서 열리니까?

언제든지 제공하고 도움을 주시면 감사하겠습니다. 당신이 KnpMenuBundle를 사용하는 경우

답변

10

당신이 이런 식으로 작업을 수행 할 수 있습니다 (그것은 확실히 그것을 모양) : 당신이 원하는 경우에, 가치가 무엇인지에 대한

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

그건 정확히 내가 원하는 것입니다. 도움을 많이 주셔서 감사합니다. – Gyhth

11

addChild 방법에 :

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