una tag poner imagen hiddeninput como blank activedropdownlist php yii yii2 mpdf

php - tag - Yii2: cómo agregar el modelo y el id del modelo en mPDF



yii2 helpers url (2)

Necesito generar pdf desde mi punto de vista, estoy usando kartik mPDF,

Controlador :

public function actionInvoicesPrint() { $pdf = new Pdf([ ''mode'' => Pdf::MODE_CORE, // leaner size using standard fonts ''content'' => $this->renderPartial(''view'', [''model'' => $model, ''mode'' => Pdf::MODE_CORE, ''format''=> Pdf::FORMAT_A4, ''orientation''=> Pdf::ORIENT_POTRAIT, ''destination''=> Pdf::DEST_BROWSER]), ]); return $pdf->render(); }

Obteniendo error Undefined variable: model . Intenté como se muestra arriba pero obtengo el mismo error.

Ver:

public function actionView($id) { $searchModel = new InvoicesSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $data = Invoices::findOne($id); return $this->render(''view'', [ ''model'' => $this->findModel($id), ''dataProvider'' => $dataProvider, ''searchModel'' => $searchModel, ''data'' => $data, ]); }


En su actionInvocePrint no tiene un $ modelo asignado

a continuación se muestra una muestra de mi pdf de trabajo (kartik mPDF como tu)

$model = $this->findModel($id); // get your HTML raw content without any layouts or scripts //$this->layout = ''pdfmain''; $content = $this->renderPartial(''_mpdf_report_scheda'', [ ''model'' => $model, ''imglink'' => $imglink, ]); if ($print ) { $setJS = ''this.print();''; } else { $setJS =''''; } // setup kartik/mpdf/Pdf component $pdf = new Pdf([ // set to use core fonts only ''mode'' => Pdf::MODE_BLANK, // A4 paper format ''format'' => Pdf::FORMAT_A4, // portrait orientation ''orientation'' => Pdf::ORIENT_PORTRAIT, // stream to browser inline ''destination'' => Pdf::DEST_BROWSER, // your html content input ''content'' => $content,

Como puede ver en esta parte del código ... el modelo se obtiene antes que todo y luego con este $ modelo se define un renderPartial con la vista adecuada ...

para pasar el $ id tu acción debe ser

public function actionInvoicesPrint($id)

y para esto tu llamada URL debe ser

Url::to([''/your-controller/Invoices-print'' , ''id'' => $your_id]);


Solución de trabajo completa

public function actionInvoicesPrint($id) { $model = $this->findModel($id); $searchModel = new InvoicesSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $data = Invoices::findOne($id); $content = $this->renderPartial(''view'', [''model'' => $model,''dataProvider'' => $dataProvider,''searchModel'' => $searchModel,''data''=> $data]); $pdf = new Pdf([ // set to use core fonts only ''mode'' => Pdf::MODE_BLANK, // A4 paper format ''format'' => Pdf::FORMAT_A4, // portrait orientation ''orientation'' => Pdf::ORIENT_PORTRAIT, // stream to browser inline ''destination'' => Pdf::DEST_BROWSER, // your html content input ''content'' => $content, ]); return $pdf->render(); }

PARA disparar la actionInvoicesPrint() controlador actionInvoicesPrint()

<?php echo Html::a(''<i class="fa glyphicon glyphicon-hand-up"></i> Privacy Statement'', [''/invoices/invoices-print'', ''id'' => $model->id], [ ''class''=>''btn btn-danger'', ''target''=>''_blank'', ''data-toggle''=>''tooltip'', ''title''=>''Will open the generated PDF file in a new window'' ]); ?>