将Blade部分的内容放在变量中

时间:2015-04-20 16:27:07

标签: laravel laravel-4

在我的刀片模板中,有一个简单的部分:

@section('container')
My html markup here
@stop

我打电话给" master.blade.php"档案:

@yield('container')

据我所知,yield功能打印container的内容。但我想知道我是否可以将容器的内容放在变量中而不是?

我想做那样的事情:

$myvar = @yield('container');

我知道它在语法上是不正确的,但有想法。我想将container部分的内容放在变量中。

3 个答案:

答案 0 :(得分:0)

返回视图时,请从文件中读取html标记并使用with

$html = File::get($filepath);
return view('yourview')->with(compact('html'));

然后在您的Blade视图文件中,您可以output it这样:

@section('container')
    {{ html }}
@stop

您可以在Laravel Views Docs

中详细了解详情

答案 1 :(得分:0)

为什么不使用某些javascript来执行以下操作:

var somvar = $("#container").html();

或类似的东西:

<?php ob_start(); ?>
<div>Contents goes <b>here</b></div>
<?php $contents = ob_get_contents(); ?>

答案 2 :(得分:0)

是否必须在视图中?你能做点像......

$myvar = View::make('yourview.blade.php')->with('somevars');