【发布时间】:2013-09-08 09:42:09
【问题描述】:
我正在尝试制作一个具有 2 个或更多布局的网站,任何用户都可以更改他/她的布局。
我知道我们可以在这样的控制器中使用布局
公共 $layout = 'layouts.default';
...
并在方法中
$this->layout->nest('content', $view, $data );
但这对我来说没用,它总是默认的,我的意思是如何动态改变$layout的值?
例如,用户将网站视为默认布局,但用户 b 将其视为黑色布局。
------------已编辑
我将布局存储在用户表中,但问题是如何在控制器中添加条件语句? 存储布局名称的$laravel变量是一个属性,在代码中只能设置一次,不能在任何方法之外添加语句来改变它。
【问题讨论】:
-
你是如何让用户选择布局的?是一次性更改,还是将永远与他们的用户帐户相关?我建议使用会话变量,或者将其设置为将布局存储在您正在使用的用户表中。一旦你有了这些,只需添加一个条件语句来测试在控制器中使用什么布局。