Как отправить разрывы строк из контроллера Laravel для отображения нескольких строк в сообщении блейд-страницы - PullRequest
0 голосов
/ 24 февраля 2019

В моем контроллере у меня есть перенаправление, если условие выполнено, и я хочу использовать сообщение страницы, чтобы сообщить причину перенаправления.Однако я не могу найти способ отправить разрыв строки из контроллера в область сообщения начальной загрузки, чтобы он отображал несколько строк.Я могу найти много ответов о том, что делать в блейде, в основном экранируя HTML с {! markup !}, но это не работает в контроллере, куда я отправляю сообщение.

Вот мой код контроллера:

$message = "Nothing to do. </br>You must first enter account data to generate a report";
            return redirect()->route('admin.home')->with('message', $message);

Отображается тег "</br>".Я пробовал "/n" и "&#10;" безрезультатно, они не рендерится, но также и без перевода строки.Мне нужно отправлять более подробные сообщения в зависимости от условия для перенаправления, которое не будет работать, если все должно идти в одной строке сообщения.

Я использую Laravel 5.5 в XAMPP (PHP 7) на Windows 10,Chrome для разработчика, VS Код для кодирования.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

решено: Часть моей проблемы заключалась в том, что «message» - это имя переменной по умолчанию, которое автоматически отображается в области сообщений на странице начальной загрузки, поэтому, когда я пытался использовать свой собственный код в блейде, я получал и автоматическое сообщениедисплей так же как и мой.Изменив имя по умолчанию «message», я могу извлечь переменную сеанса в блейде и отобразить ее без получения двух сообщений.Оно идентично сообщению по умолчанию, но теперь я могу избежать разметки и получить разрывы строк.Новый код выглядит следующим образом:

Контроллер:

$message = "Nothing to do. </br>You must first enter account data to generate a report";
            return redirect()->route('admin.home')->with('special_message', $message);

Blade:

@if(Session::has('special_message'))
<p class="alert alert-info">{!! Session::get('special_message') !!}</p>
@endif
0 голосов
/ 24 февраля 2019

Вы пробовали {!!$ message !!} в вашем блэйд-шаблоне?

Просто убедитесь, что ваш оператор возврата не может содержать вводимый пользователем HTML, поскольку это может разрешить XSS.

Пожалуйста, смотрите следующую документацию по "отображению неэкранированногоданные "

https://laravel.com/docs/5.5/blade#displaying-data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...