Laravel - 根据路径获取当前页面的HTML或视图

问题描述 投票:0回答:1

我有一个观点mypage.blade.php和路径。

网址是这样的:https://example.com/mypage/param1/param2。该航线使用param1param2和生成页面。

问题1

在该页面中,我试图得到它的HTML代码。有没有办法做到这一点?我试图render()但我没有得到我想要的东西。

问题2

在视图中,可以由我指定的路径得到的另一种观点的HTML代码?

laravel laravel-5
1个回答
2
投票

你有正确的想法。不知道为什么它不会为你工作。

在控制器中,设置视图到一个变量:

 $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

我不知道你想和这个网站做什么,但如果你希望它显示在页面上,一旦你把它(你可能要与变量$视图的紧凑一起返回的观点.. 。作为一个正常的变量,如果这样),记得要使用此格式:

{!! $view !!}

HTH

© www.soinside.com 2019 - 2024. All rights reserved.