Laravel:如何维护同一页面的不同会话?

时间:2021-05-03 07:07:45

标签: laravel session session-variables session-state laravel-session

我需要将会话放在同一页面侧边栏上。当用户单击任何按钮会话将获得该选项卡。喜欢

  • 搜索工作
  • 客户

在侧边栏中的按钮或不与任何页面链接。我正在为每个人创建一个对话框,因此他们没有链接页面,这就是我面临问题的原因。当用户单击任何侧边栏按钮时,名称应突出显示。

仪表板控制器

 public function disp()
{
    Session::put('page', 'search-job');
    Session::put('page', 'customer');

    return view('front.disp');
}

layout.blade.php

 @if(Session::get('page')=="search-job")
 <?php $active = "active"; ?>
 @else
 <?php $active = ""; ?>
 @endif

 <li class="nav-item {{$active}}">
    <a href="javascript:void(0)" class="nav-link nav-toggle">
       <span class="title">SEARCH JOBS</span>
    </a>
 </li>


 @if(Session::get('page')=="customer")
 <?php $active = "active"; ?>
 @else
 <?php $active = ""; ?>
 @endif

<li class="nav-item {{$active}}">
    <a href="javascript:void(0)" class="nav-link nav-toggle">
       <span class="title">Customer</span>
    </a>
 </li>

如何处理这个侧边栏

谢谢!

1 个答案:

答案 0 :(得分:0)

我从评论中了解到,您希望拥有不同的活动会话,那么您有 2 个选项,如下所示:

  1. 将它们放在不同的索引中,如下所示:

    Session::put('page-search-job', true);
    Session::put('page-customer', false);  
    

    并在视图中像这样检查它们:

    <li class="nav-item {{ Session::get('page-search-job') == true ? 'active' : '' }}">
        <a href="javascript:void(0)" class="nav-link nav-toggle">
            <span class="title">SEARCH JOBS</span>
        </a>
    </li> 
    
  2. 像这样把它放在一个数组中:

    Session::put('page', [
        "search-job"=>true,
        "customer"=>false
    ]);
    

    然后像这样检查它们:

    <li class="nav-item {{ Session::get('page')['search-job'] == true ? 'active' : '' }}">
        <a href="javascript:void(0)" class="nav-link nav-toggle">
            <span class="title">SEARCH JOBS</span>
        </a>
    </li>