Код в контроллере
Код: Выделить всё
public function actionPdf($id)
{
$model = $this->findModel($id);
$content = Yii::$app->view->renderFile('@app/views/order/_forma.php', ['model'=>$model]);
$pdf = new Pdf([
'mode' => Pdf::MODE_UTF8,
'format' => Pdf::FORMAT_A4,
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.css',
'orientation' => Pdf::ORIENT_LANDSCAPE,
'destination' => Pdf::DEST_BROWSER,
'content' => $content,
'options' => ['title' => 'Портал'],
]);
$fileName = 'list_' . $model->id . '_ot_' . $model->date . '.pdf';
$filePath = Yii::getAlias('@app/web/upload/documents/rctp/pdf/' . $fileName);
$attachment = $pdf->output($content, $filePath, Pdf::DEST_FILE);
$result = Yii::$app->mailer->compose()
->setFrom(['***@mail.ru' => 'контора'])
->setTo($model->email)
->setHtmlBody('Текст')
->setSubject('Перечень оборудования #' . $model->id . ' от ' . $model->date)
->attach($filePath)
->send();
unlink($filePath);
return $this->redirect(Yii::$app->request->referrer);
}
Код: Выделить всё
'value' => function($data){
if($data['email'] == true){
return Html::a(
'<span>',
Url::to(['order/pdf', 'id' => $data->id]),
[
'rel' => 'nofollow',
'class' => 'glyphicon glyphicon-envelope',
'title' => 'Отправить документ на email ' . $data->email,
'data' => [
'confirm' => 'Вы подтверждаете отправку документа пользователю ' . $data->name . ' ' . ($data->email),
'method' => 'post',
],
]);
}else{
return '';
}
},