Laravel刀片@extends在其他地方被覆盖

时间:2016-06-14 15:43:34

标签: php laravel laravel-4 blade

处理继承的Laravel项目。每个模板@extends一个基本布局模板(大约有4个)。但是特定模板文件以某种方式扩展了错误的基本模板(特定的基本模板:base_one.blade.php)。当我重命名base_one.blade.php时。有问题的模板文件开始扩展正确的基本模板。似乎我的@extends语句在其他地方被覆盖了。请帮忙。没有运气,我到处寻找类似的问题。

1 个答案:

答案 0 :(得分:0)

所以我不得不清空刀片文件并在其他位置添加内容以隔离问题。事实证明我的模板文件很奇怪,因为文件底部的<script>标记内有一个刀片输出语句:

var ids = {{ json_encode($ids) }};

当未设置$ids时,子模板开始出现故障(继承/扩展完全不同的布局模板)。所以我换了一行:

var ids = {{ json_encode(isset($ids) ? $ids : []) }};

这是Laravel陷阱中的一个(很多)例子。在普通的PHP中,你会收到一个错误,告诉你$ids没有设置;在Laravel东西向南走,但你不知道为什么。这就是生活。