Here, I'm trying to design a payslip. I want to pass data from model right beside the text. like -
<p class="text-center">Pay Slip for the month of </p>
The data will be fetched from the model and will be passed right beside "Pay Slip for the month of". Please help.
My Controller Action
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_UTF8,
'format'=> Pdf::FORMAT_A4,
'destination'=> Pdf::DEST_BROWSER,
//'destination' => Pdf::DEST_DOWNLOAD,
'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' => 'Print Payslip'],
// call mPDF methods on the fly
'methods' => [
'SetHeader'=>['Private and Confidential'],
'SetFooter'=>['This Payslip is computer generated.'],
],
'content' => $content,
]);
return $pdf->render();
//return $this->render('_printSalarystatement', ['period' => 's_period']);
}
_printSalarystatement.php
<?php
use yiihelpersHtml;
use yiiwidgetsDetailView;
/* @var $this yiiwebView */
/* @var $model frontendmodulessalarymodelsSalary */
//@var $model yiiaseModel
//@var $totaldays any
//$this->title = $model->s_id;
$this->params['breadcrumbs'][] = ['label' => 'Salaries', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="salary-view">
<h1><?= Html::encode($this->title) ?></h1>
<h1><strong><p class="text-center">PS Enterprise</p></strong></h1>
<p class="text-center">Pay Slip for the month of s_period </p>
<?= DetailView::widget([
'model' => $model,
'attributes' => [
's_id',
's_date',
's_period',
's_empid',
's_empname',
's_workingdays',
's_leave',
's_holiday',
's_wageperday',
's_totalwage',
's_ovthour',
's_ovtrateperhour',
's_ovtamount',
's_tiffinworkingday',
's_tiffinrateperday',
's_wdtiffinamount',
's_sundayworked',
's_sundayrate',
's_sundaytiffinamount',
's_nightcount',
's_nightallrate',
's_nightallowance',
's_convday',
's_convrate',
's_conveyanceamount',
's_tiffinovtcount',
's_tiffinovtrate',
's_tiffinovtamount',
's_incentivecount',
's_incentiverate',
's_incentive',
's_totalearning',
's_epf',
's_esi',
's_ptax',
's_takehome',
],
]) ?>
</div>
By the controller action I get the following screen
What I want is to pass the period that is in the detailview to be shown after the line "Pay Slip for the month of ". mY question is how to do that
See Question&Answers more detail:
os