【问题标题】:How to grab content from section within blade template如何从刀片模板中的部分获取内容
【发布时间】:2013-08-16 09:06:52
【问题描述】:

我编写了一个培训应用程序,培训工作簿的每一页/幻灯片作为单独的刀片模板文件命名为“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 传递给它时,它的效果非常好。但是我希望将每一页的@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;
}

【问题讨论】:

    标签: laravel laravel-4 blade


    【解决方案1】:

    而不是正常返回视图

    return View::make('page');
    

    你可以instead store the view in a string

    $view = View::make('page');
    

    那么你可以像这样编写代码(未经测试 - 但你明白了):

    $pages = array(...); // content of the directory
    foreach ($pages as $page)
    {
        $renderedPage[] = view::make($page);
    }
    

    【讨论】:

    • 这很有用,然后我不得不逐行分解字符串并抓住@section('title') 和@parent 之间的行。
    猜你喜欢
    • 2013-09-20
    • 2013-09-21
    • 2014-09-04
    • 2014-11-13
    • 2020-11-15
    • 2017-08-01
    • 1970-01-01
    • 2016-07-04
    • 2016-10-02
    相关资源
    最近更新 更多