我已经将培训工作簿的每个页面/幻灯片编写了一个培训应用程序,并将其作为单独的刀片模板文件命名为“ page1.blade.php”,“ page2.blade.php”,依此类推。这些文件中的每一个都具有以下内容:
@extends('en/frontend/layouts/training_modulename')
{{-- Page title --}}
@section('title')
Page Title
@parent
@stop
{{-- Page content --}}
@section('pageContent')
<div class="pageContentContainer">
<h2>Page Title</h2>
...
</div>
@stop
当在浏览器中逐页查看时,这非常有效。但是,我也希望将所有页面自动编译为PDF文档。这是通过dompdf完成的,当我手动将每页html传递给dompdf时,效果都非常好。但是,我希望将@section('pageContent')
每个页面的部分压缩成一个大的部分,该部分扩展了用于传递给dompdf的不同布局。
给定以上上下文,我的问题是: Laravel的刀片解析器中是否有一种方法可以让我将其传递给刀片文件,并仅从特定部分获取渲染的html?下面的伪代码演示了我想做的事。
$pages = array(...); // content of the directory
foreach ($pages as $page)
{
$renderedPage = Blade::render($page);
$title = $renderedPage->title;
$pageContent = $renderedPage->pageContent;
}
而不是正常返回视图
return View::make('page');
您可以改为将视图存储在字符串中
$view = View::make('page');
因此,您可以执行以下代码(未经测试-但您知道了):
$pages = array(...); // content of the directory
foreach ($pages as $page)
{
$renderedPage[] = view::make($page);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句