我有一个数组,我存储"通知"的定义。其中两个都有我想要模板化的动态变量,但内容本身也是一个模板。
'start_process_import' => array(
"content" => "Started processing: {{$name}}",
"view" => '/ajax_templates/notifications/notification',
'icon' => 'fa-plus',
'labelStyle' => 'label-success',
'href' => '/user/view/{{$id}}'
)
正如您所看到的,"内容"和" href" index都有Blade模板内容。
然后我将这些数据以及其他数据传递给渲染视图,如下所示:
$response['content'] = view($configView['view'], $data)->render());
这是视图模板文件,它可以正确地获得刀片模板。
<li>
<a href="{{ $href }}">
<span class="time">{{ $date }}</span>
<span class="details">
<span class="label label-sm label-icon {{ $labelStyle }}">
<i class="fa {{$icon}}"></i>
</span>
{{$content}}
</span>
</a>
这是输出:
<li>
<a href="/user/view/{{$id}}">
<span class="time">2016-09-18 11:37:37</span>
<span class="details">
<span class="label label-sm label-icon label-success">
<i class="fa fa-plus"></i>
</span>
Started processing: {{$name}}
</span>
</a>
$ id和$ name变量仍然存在,并且不是Blade模板格式。
有没有办法去&#34;加倍&#34;刀片模板视图?
答案 0 :(得分:0)
您可以访问模板中的变量:$name
和$id
,对吧?建议将在下面提供,这可能是有用的。但是,没有办法知道它是否有效。这是建议:
<?php
'start_process_import' => array(
"content" => "Started processing: ", //<== REMOVED DYNAMIC VARIABLE: $name
"view" => '/ajax_templates/notifications/notification',
'icon' => 'fa-plus',
'labelStyle' => 'label-success',
'href' => '/user/view/' //<== REMOVED DYNAMIC VARIABLE: $id
);
BLADE TEMPLATE
<li>
<!-- SINCE BOTH $id & $name ARE AVAILABLE TO YOU IN THE CURRENT TEMPLATE -->
<!-- YOU COULD STRIP THE DYNAMIC VARIABLES($name & $id) FROM THE content & href KEYS -->
<!-- AND PERHAPS ADD THEM DIRECTLY HERE WITHIN THE TEMPLATE -->
<a href="{{ $href }}{{ $id }}">
<span class="time">{{ $date }}</span>
<span class="details">
<span class="label label-sm label-icon {{ $labelStyle }}">
<i class="fa {{$icon}}"></i>
</span>
{{ $content }}{{ $name }}
</span>
</a>
</li>
答案 1 :(得分:0)
如果您确实需要重新渲染模板两次,则需要使用String Blade Compiler包或类似的包。