在功能中呈现视图时,Laravel Blade不会推送到堆栈

时间:2017-06-09 23:16:07

标签: php laravel blade

问题

使用刀片渲染视图时,我调用一个生成表单的函数(使用Laravel Form Builder)。这一切都像一个魅力!对于我的项目,我需要一个自定义表单和一个自定义表单字段。经过一番疑惑也取得了成功,仍然没有问题!现在我需要一种方法将链接推送到父视图中的列表。

parentview.blade.php

<div class="panel-body">
  <ul class="wizard_steps">
    @stack('category_steps')
  </ul>
  {!! form($form) !!}
</div>

customForm.blade.php

@push('category_steps')
<li>
  <a href="#{{$options['real_name']}}">
    <span class="step_no"></span>
    <span class="step_descr">
      <?php if ($showLabel && $options['label'] !== false && $options['label_show']): ?>
        {{ $options['label'] }}
      <?php endif; ?>
    </span>
  </a>
</li>
@endpush

<div id="#{{$options['real_name']}}">
  {!! form_rest($options['field_form']) !!}
</div>

这就是问题所在。列表项未添加到父级的堆栈中。

重现的步骤

我已将问题缩小到{!! form($form) !!}。所以要重现:

  • 制作文件home.blade.php并粘贴文字:

home.blade.php

<?php
/** @return string */
function test()
{
    return view('test')->render();
}
?>
@stack('moreTest')
{!! test() !!}
  • 现在是文件test.blade.php并粘贴文字:

test.blade.php

@push('moreTest')
  <p>This is not pushed</p>
@endpush

有人知道如何解决这个问题吗?

谢谢!

P.S.:使用laravel 5.4.23

0 个答案:

没有答案