在Layouts文件夹中,我有一个名为signup.blade.PHP的布局
在我的控制器中,我正在为它分配一个布局:
protected $layout = 'layouts.signup';
在一个名为“signup”的单独文件夹中,我有一个名为“signup1.blade.PHP”的文件.它包含您典型的刀片模板内容.这是一个名为“内容”的部分.在我的代码之前
@section('content')
它最后得到了@stop.
我的控制器看起来像这样:
public function SignUp()
{
$this->layout->content = View::make('signup.signup1');
}
令人沮丧的是,这与另一个布局和控制器一起工作.我已经仔细检查了它们是否相同,而且这个不起作用.任何建议将不胜感激.谢谢.
解决方法:
所以,假设这个控制器扩展了BaseController(它必须为$layout工作),code execution sets $this->布局为View :: make($this-> layout).
您的错误似乎表明$this->布局未正确设置为View对象.
尝试运行它,看看$this-> layout是否是一个对象/类,如果是,它是什么类.
public function SignUp()
{
echo gettype($this->layout);
echo get_class($this->layout);
}
知道$this->布局没有变成View对象意味着setupLayout()方法没有被调用,或者更可能的是,不是View :: make($this-> layout)的结果不合适观点(也许是由于某种原因而无声地失败).
以上步骤有希望为您提供有关在那里发生的事情的线索.也许layouts.signup不是应用程序找到的布局?
你的路线是什么样的?