Я пытаюсь использовать kartik mpdf для печати данных в pdf-файл. Я столкнулся с такой же проблемой, как - yii2 basic printing a page in pdf. Я пробовал решение, данное там, но все еще получаю ошибку. Просмотр файла (код для кнопки) -Неопределенная переменная модель в kartik mpdf - yii2
<?= Html::a('<i class="fa glyphicon glyphicon-print"></i> Print Salary Statement', ['/salary/salary/printsalarystatement'], [
'class'=>'btn btn-primary',
'target'=>'_blank',
'data-toggle'=>'tooltip',
'title'=>'Will open the generated PDF file in a new window'
]);?>
Контроллер
public function actionPrintsalarystatement() {
$pdf = new Pdf([
'content'=>$this->renderPartial('_printSalarystatement'), [
'model'=> $model,
'mode'=> Pdf::MODE_CORE,
'format'=> Pdf::FORMAT_A4,
'orientation'=>Pdf::ORIENT_POTRAIT,
'destination'=> Pdf::DEST_BROWSER,
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
'cssInline'=> '.kv-heading-1{font-size:18px}',
'options'=> ['title'=> 'Salary Statement'],
'methods'=> [
'setHeader'=>['Generated on: '.date("r")],
'setFooter'=>['|page {PAGENO}|'],
]
],
]);
return $pdf->render();
}
Present view.php -
<?= Html::a('<i class="fa glyphicon glyphicon-print"></i> Print Salary Statement', ['/salary/salary/printsalarystatement?id=s_id'], [
'class'=>'btn btn-primary',
'target'=>'_blank',
'data-toggle'=>'tooltip',
'title'=>'Will open the generated PDF file in a new window'
]);?>
Present Контроллер
public function actionPrintsalarystatement($id) {
//$model = Salary::find()->where(['s_id' => $id]);
$model = $this->findModel($id);
$searchModel = new SalarySearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$data = Salary::findOne($id);
$content = $this->renderPartial('_printSalarystatement', ['model' => $model,'dataProvider' => $dataProvider,'searchModel' => $searchModel,'data'=> $data]);
$pdf = new Pdf([
'mode'=> Pdf::MODE_CORE,
'format'=> Pdf::FORMAT_A4,
'destination'=> Pdf::DEST_BROWSER,
'content' => $content,
]);
return $pdf->render();
}
Я не уверен, что вы говорите. Существует модель «model» => $, ниже «content» => $ this-> renderPartial ('_ printSalarystatement'). Скажите, пожалуйста, какие изменения необходимо выполнить. – Tanmay
Я не могу сказать вам, что нужно делать, не видя больше кода. Я спрашиваю, где вы определяете переменную '$ model'? I.e., где находятся данные, заполняющие '_printSalarystatement'? – ldg
_printSalarystatement - это простая копия файла 'view'. Данные поступают из Model Salary. Дайте мне знать, какой код вы хотите? – Tanmay