Как отобразить теги фактически как разрывы строк в Yii2 mpdf

#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
        ],
        ...
    ],
]); ?>