Гиперссылка Yii CGridView открыта в новой вкладке

Я сделал один столбец моего yii CGridview гиперссылкой. Но при нажатии на нее открывается адрес ссылки на той же вкладке. Как я могу открыть адрес ссылки в новой вкладке?

array(
    'header'=>'Name',
    'name'  => 'name',
    'value' => 'CHtml::link($data->name, $data->site_url)',
    'type'  => 'raw',
),

person Soojoo    schedule 01.04.2013    source источник


Ответы (2)


Установите атрибут target как _blank для ссылки (<a>), которая будет сгенерирована:

<a href="some_url" target="_blank">Foo</a>

С CHtml::link:

'value' => 'CHtml::link($data->name, $data->site_url, array("target"=>"_blank"))',

Последний параметр CHtml::link() (и большинства других помощников html в классе CHtml) — это htmlOptions, который должен быть ассоциативным массивом с атрибутами html в качестве ключей и их значениями в качестве значений:

array(
    "target"=>"_blank",
    "class"=>"my-css-class",
    // ... any other html attribute ..
)
person bool.dev    schedule 01.04.2013
comment
@sarah, это работает отлично, пожалуйста, правильно прочитайте вопросы, прежде чем делать выводы (и неправильное голосование)! оба ответа верны для соответствующих вопросов. - person bool.dev; 14.04.2014
comment
@sarah, о, в таком случае, пожалуйста, спроси, и я помогу. - person bool.dev; 14.04.2014

Вы не можете создать ссылку на новую вкладку в поле значения, я создаю ссылку вручную:

вот код:

'value'=>'<a target=_blank href='.Yii::app()->createUrl('/user/index', array('id'=>$model->id)).'>Link</a>'
person aiddroid    schedule 26.12.2014