Laravel与会话链接

时间:2018-04-13 07:08:32

标签: laravel session

我正在建立一个有两个季节版本的网站:冬季和夏季。

现在我有两个链接的无序列表:冬季和夏季。我们称之为季节导航。

<ul class="season-navigation">
  <li><a href="/">Winter</a></li>
  <li><a href="/summer">Summer</a></li>
</ul>

用户打开网站。现在的默认版本是冬季,当它进入一些内页并点击网站的主要标识后,它会将它带到冬季主页,就像每个网站一样。

但是,如果用户点击夏季链接并输入一些内页然后点击网站的主徽标,我希望用户被带到夏季主页,而不是冬季主页。

据我所知,Laravel有非常好的会话API,但在这种情况下我不确定如何使用它们。

我的问题是:当用户点击其中一个季节链接时,如何将其存储在会话中,那么当点击网站的主要徽标时会将其带到所选季节导航链接的主页?

另外,如何将课程添加到身体(冬季或夏季),这取决于季节导航中点击的链接?

2 个答案:

答案 0 :(得分:1)

简单。

点击季节后,您必须在控制器中提出请求:

    public function changeSeason(Request $request){
       if($request->season == winter) {
            session(['season' => 'winter']);
       }
       if($request->season == summer) {
            session(['season' => 'summer']);
       }
    }

然后你可以重温会话:

session('season');

答案 1 :(得分:1)

我希望你有两个季节的布局,在你的刀片tempalate你可以试试这个。检查会话中的值并加载相应的模板。 Laravel提供会话外墙用于刀片tempaltes。

@if(Session::get('season')=='WINTER')
    @include('layouts.winter')
@elif
    @include('layouts.summer')
@endif

希望它能解决您的问题。除了@Adam Kozlowski的回答。