我正在使用下面的代码。
[
'attribute' => 'Application',
'format' => 'html',
'value' => function ($dataProvider) {
$student_username = $dataProvider->student_username;
return Html::a('Print', Url::toRoute(['/coordinatorpanel/print-form', 'student_username' => $student_username]),
['target' => '_blank', 'class' => 'btn btn-success center-block']);
},
]
HTML OUTPUT:
<a class="btn btn-success center-block" href="/nse/frontend/web/index.php?r=coordinatorpanel%2Fprint-form&student_username=COR39690113" target="_blank">
但是,当我点击链接时,我没有导航到新标签页,请求在同一个标签页中处理。我在“Mozilla”和“Chrome”上试过这个。
任何帮助都会被深深地重新考虑:)
答案 0 :(得分:4)
在gridview中禁用Pjax。在我的情况下,我想在一个新窗口中显示一个图像,它在网格中显示为乱码。
'format' => "raw",
'value' => function ($d) {
return Html::a($d->image_filename, '/'.$d->imagePath(),['target'=>'_blank', 'data-pjax'=>"0"] );
},
答案 1 :(得分:4)
尝试更改您的代码,如下所示
[
'attribute' => 'Application',
'format' => 'raw',
'value' => function ($dataProvider) {
$student_username = $dataProvider->student_username;
return Html::a('Print', Url::toRoute(['/coordinatorpanel/print-form', 'student_username' => $student_username]),
['target' => '_blank', 'class' => 'btn btn-success center-block']);
},
]
此处使用'format' => 'raw'
来避免格式化。
答案 2 :(得分:0)
我假设此代码位于某个格式化输出的窗口小部件中,因为这是常见的情况。如果是这样,只需将格式更改为raw
。
答案 3 :(得分:0)
我必须走另一条路才能正确运行代码。
You can click here for reference
以下是我修改并为我工作的代码。我不得不设置&#39; onclick&#39; event并将href设置为空。
[
'attribute' => 'Application',
'format' => 'raw',
'value' => function ($dataProvider) {
$student_username = $dataProvider->student_username;
return Html::a('Print', '',
['onclick' => "window.open ('".Url::toRoute(['/coordinatorpanel/print-form',
'student_username' => $student_username])."'); return false",
'class' => 'btn btn-success center-block']);
},
],
答案 4 :(得分:0)
尝试这种方式,它也能完美运作 -
问题也可能出在pjax
。即使您使用row
格式。
在这种情况下,只需添加linkSelector
param:
\yii\widgets\Pjax::begin(
['id' => 'samle', 'linkSelector' => 'a:not(.target-blank)']
);
并在链接中添加相应的css类:
return Html::a(
'Print',
['/site/print', 'id' => $model->id],
['target'=>'_blank', 'class' => 'target-blank']
);
这将仅阻止来自pjax
的这些链接,以便可以在新标签中打开它们。