3

ユーザーがナビゲーション メニューのリンクをクリックしたときに、新しいウィンドウを作成しようとしています。現在私がやろうとしているのは、target="_blank" アイテムを URL に追加することで、まったく新しいページを作成することです。そこから、他のさまざまなニーズに合わせてこれを変更する方法を学ぶ予定です。問題は、関連するリンクに移動するターゲットを取得できないことです。

私が試みた:

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

クリックしたときに新しいウィンドウで開くように、属性をリンクに直接設定する手段はありますか?

いつでも、あなたが提供できる助けをいただければ幸いです。

4

2 に答える 2

17

addChildメソッドでそれを行いたい場合は、価値があります。

$menu->addChild('Homepage', [
    'route' => 'homepage',
    'linkAttributes' => ['target' => '_blank'],
]);
于 2015-04-10T23:37:22.570 に答える
12

KnpMenuBundle を使用している場合 (確かにそのように見えます)、次のように実行できます。

$dropdown->setLinkAttributes(array('target' => '_blank'));
于 2013-09-23T16:00:20.783 に答える