PDF не загружается при нажатии кнопки в Yii2

У меня есть представление, в котором есть некоторые записи в нем. Я хочу скачать их в PDF, Но при нажатии на кнопку я не могу увидеть загруженный pdf,

Мой контроллер действий

public function actionViewpdf()
{

$searchModel = new IssueMeters();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

if(isset($_POST['issue_pdf']))
{
$content = $this->render('viewpdf', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel
]);
$pdf = new Pdf([
// set to use core fonts only
'mode' => Pdf::MODE_UTF8,
// A4 papr format
'format' => Pdf::FORMAT_A3,
// portrait orientation
'orientation' => Pdf::ORIENT_LANDSCAPE,
// stream to browser inline
'destination' => Pdf::DEST_BROWSER,
// your html content input
'content' => $content,
// format content from your own css file if needed or use the
// enhanced bootstrap css built by Krajee for mPDF formatting
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
// any css to be embedded if required
'cssInline' => '.kv-heading-1{font-size:18px}',
// set mPDF properties on the fly
'options' => ['title' => 'Accurate Survey'],
// call mPDF methods on the fly
'methods' => [
'SetHeader' => ['Accurate (PVT) LTD.'],
'SetFooter' => ['{PAGENO}'],
]
]);

$pdf->filename = "Issue_Meter.pdf";
// return the pdf output as per the destination setting
return $pdf->render();
}
else{
return $this->render('viewpdf', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel
]);
}
}

Мой взгляд

<div class="box-body">
<form>
<p>
<a href="<?= URL::toRoute('issue/viewpdf') ?>" type="submit" class="btn btn-primary" id="dl" name="issue_pdf">Download PDF</a>
<br/>
</p>
</form>

<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label' => 'Store',
'value' => function ($d) {
if(is_object($d->store))
return $d->store->name;
return ' - ';
},
'filter' => Html::activeDropDownList($searchModel,'store_id',\app\models\Stores::toArrayList(),['prompt' => "Stores", 'class'=>'form-control']),
],
'meter_serial',
[
'label' => 'Issuer',
'value' => function ($d) {
if(is_object($d->user))
return $d->user->username;
return ' - ';
},
'filter' => Html::activeDropDownList($searchModel, 'issuer', \app\models\User::toArrayList(), ['prompt' => "Users", 'class' => 'form-control']),

],
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
</div>

По нажатию Download PDF это не идет к if состояние в моем контроллере.

Любая помощь будет высоко оценен.

0

Решение

Ваша ссылка вызывает запрос на получение. Ваш оператор if ищет переменную post.

isset ($ _ POST [‘issue_pdf’]) должен быть isset ($ _ GET [‘issue_pdf’])

В противном случае я бы порекомендовал использовать другое действие для загрузки: actionDownloadPDF ($ issue_pdf).

0

Другие решения

Вы должны изменить свою форму следующим образом

$form = yii\widgets\ActiveForm::begin([]);
echo yii\helpers\Html::hiddenInput('issue_pdf', '1');
echo yii\helpers\Html::submitButton('Download Pdf')
yii\widgets\ActiveForm::end();
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector