我遇到以下问题:我用写在父控制器renderOutput
上的SiteController.
方法加载了网站的主布局(视图)
protected function renderOutput(){
$menu = $this->getMenu();
$navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
$this->vars = array();
$this->vars = array_add($this->vars,'navigation', $navigation);
return view($this->template)->with($this->vars);
}
在IndexController
方法的子控制器index
中,我将此方法称为。另外,为了显示index方法中的部分(部分)滑块,我将$sliders
变量传递到滑块模板的地址。
public function index(){
//
$sliders = view(env('THEME').".slider")->render();
$this->vars = array();
$this->vars = array_add($this->vars,'sliders',$sliders);
return $this->renderOutput();
}
但是当我在模板中使用此变量时,出现错误。也就是说,$sliders
变量在模板中不可用。请告诉我如何解决问题。预先谢谢你!
未定义变量:滑块(视图:C:\ Users \ User \ Downloads \ Programs \ OSPanel \ domains \ Corporate \ resources \ views \ pink \ index.blade.php)
答案 0 :(得分:1)
在renderOutput()
中,您正在覆盖$this->vars
,这就是未定义它的原因。
使用:
protected function renderOutput(){
$menu = $this->getMenu();
$navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
$this->vars = array_add($this->vars,'navigation', $navigation);
return view($this->template)->with($this->vars);
}