我有3级刀片结构:
lvl 0 - master-layout - 包含所有系统中常见的元素
lvl 1 - 模块布局 - 使用特定模块共有的元素扩展主布局(通过:@extends('layouts.master-layout')
)
lvl 2 - view-layout - 扩展模块布局的各个视图的布局(通过:@extends('layouts.module-layout')
)
在BaseController中,有一些使用$variable1
共享View::share('variable1', $variable1)
的常用方法。我希望$variable1
可以在所有观点中使用。
然而,当我使用viewController(扩展BaseController)调用view-layout并尝试在 module-layout 中使用$variable1
时,它会抛出异常“变量未定义 ”
奇怪的是,当我将lvl 1作为中介消除并直接扩展lvl 0(在视图布局中使用变量)时,它可以工作。这意味着$variable1
已正确共享,但仅在最低级别可用。
我的问题是如何在调用扩展它的view-layout时在模块布局中使用共享$variable1
?我应该以某种方式将这个共享变量分别传递给扩展布局吗?