#html #yii2 #mpdf
#HTML #yii2 #mpdf
Вопрос:
У меня есть это в одной из моих моделей:
public function getDispname() {
return $this->step . '<br>' . $this->pm->dispname;
}
В представлении (_pdf.php ) Я вызываю это внутри Gridview.
Когда я создаю PDF-файл об этом в контроллере:
$pdf = Yii::$app->pdf;
$pdf->content = $this->render('_pdf', [
'model' => $model,
]);
$pdf->render();
Я получаю этот результат:
7. - sometext<br>sometext
Очевидно, я хотел бы иметь там фактический разрыв строки вместо <br>
тега:
7. - sometext
sometext
Не могли бы вы сказать мне, пожалуйста, как я могу заставить mpdf отображать <br>
теги как разрывы строк?
Комментарии:
1.
<br>
Работает ли это за пределами Gridview? Я только что запустил ваш код (вне Gridview) без каких-либо проблем.2. Какой у вас код для GridView? Вы можете попробовать добавить
'format' => 'raw',
в свой столбец.
Ответ №1:
Текст для столбцов в GridView кодируется автоматически.
Итак, чтобы отобразить html, вам нужно отформатировать этот столбец как необработанный текст.
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
...
// a column with html inside as raw text
[
'attribute' => 'content',
'format' => 'raw', // this will enable html output
],
...
],
]); ?>