【问题标题】:Laravel blade @extends being overriden elsewhereLaravel Blade @extends 在其他地方被覆盖
【发布时间】:2016-10-15 10:56:31
【问题描述】:

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

【问题讨论】:

  • 没有人会知道您的文件结构、文件名,或者它们是否会退出,或者根据您的描述性问题,您是否有任何重复文件。哦,是的@extends BTW。
  • 没有任何代码我们无法帮助您。您是否在项目中对关键字进行了逐行递归搜索,例如 base_oneBlade::extends
  • @score 是的,我知道;错字(显然)。
  • @Ohgodwhy 关键字搜索听起来是个好主意。我会试试的。抱歉,我不能真正发布代码。有很多代码连接到很多代码。即使我发布了一些,这里还有很多你看不到的(除非我压缩并附加整个项目!)

标签: php laravel laravel-4 blade


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2016-12-18
    • 1970-01-01
    • 2021-07-06
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多