如何在laravel刀片宏中使用includes?

时间:2014-03-25 21:24:01

标签: macros laravel laravel-4 blade

我正在为Laravel 4中的一个站点设计一个后端。它将有许多数据输入表单,其中一些将被分解为选项卡页面。

对于单个视图,它看起来像这样:

<ul>
<li id='menu0' class='menu active'>Main</li>
<li id='menu1' class='menu'>Secondary</li>
<li id='menu2' class='menu'>Advanced</li>
</ul>

<div id='tab0' class='tab active'>
@include('_mainfields')
</div>

<div id='tab1' class='tab'>
@include('_secondfields')
</div>

<div id='tab2' class='tab'>
@include('_advancedfields')
</div>

理想情况下,我想将其转换为宏:

Form::tabify(['Main','Secondary','Advanced'],'_mainfields','_secondfields','_advancedfields'])

典型的@include文件将包含这样的刀片代码:

<div class='formfield'>
{{ Form::label('dress_description','Description') }}
{{ Form::input('text','dress_description') }}
</div>

编写宏来生成UL部分是微不足道的。然而,当涉及到包括时,我碰壁了。我无法看到如何将其提取到宏。宏本身不能包含@include,因为它是用PHP编写的。由于包含中的刀片代码无法处理,因此PHP无法正常工作。

那还有另一种方式吗?

1 个答案:

答案 0 :(得分:4)

您可以直接渲染它们:

View::make('your-included-template');