Laravel - Получить HTML-код текущей страницы или представления в соответствии с путем - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть вид mypage.blade.php и маршрут.

URL-адрес как: https://example.com/mypage/param1/param2.Маршрут использует param1 и param2 и генерирует страницу.

Вопрос 1

На этой странице я пытаюсь получить его HTML-код.Есть ли способ сделать это?Я попытался render(), но не получил то, что хотел.

Вопрос 2

В представлении можно ли получить код HTML другого представления с помощьюуказав путь?

1 Ответ

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

У вас была правильная идея.Не уверен, почему это не сработает.

В контроллере установите представление в переменную:

 $view = view('myBaseView', compact('people', 'places', 'things'));

Теперь, если вы выгрузите переменную визуализированного представления, у вас естьHTML-код страницы:

dd($view->render());

Чтобы получить HTML-код другого представления, указав путь и используя внутренний контроллер, вам необходимо установить какую-либо оболочку или перехват, чтобы переменная представления не возвращаласькак представление, но визуализируется в HTML, как указано выше.Ваш метод должен был бы перехватить все, что исходный контроллер отправлял, прежде чем он вытолкнул представление.

Конечно, старый школьный php может также получить html для другой страницы, если ваш сервер настроен на это:

$html = file_get_contents('http://mypage.com/');

Что-то еще, что вам может пригодиться, - это метод сечений Laravel.Если вы просто хотите визуализировать часть страницы, вы можете сделать это, вызвав любой раздел с частичного представления:

$sections = $view->renderSections(); // returns an associative array of 'content', 'pageHeading' etc

dd($sections['modalContent']); // this will only dump whats in the content section

Я не знаю, что вы хотите сделать с этим html, но еслиесли вы хотите отобразить его на странице, после его отправки (возможно, вы захотите вернуть представление вместе с компактной переменной $ view ... в качестве нормальной переменной, если таковая есть), не забудьте использовать этот формат:

{!! $view !!}

HTH

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