如何修复使用委托的侧边栏

时间:2019-05-07 03:38:42

标签: laravel entrust

我得到了调试系统的任务。我对Entrust软件包不熟悉。

我使用侧边栏转到的其他页面工作正常,但是当我查看某些页面时,侧边栏不起作用(下拉列表消失)。

这是边栏不起作用时的样子: View post on imgur.com

工作时的样子: View post on imgur.com

这两个代码块(我认为)是侧边栏故障的主要原因。导致此错误的工具条上的导航是学生活动->成绩管理学生活动->设置

_sidebar.blade.php

@if(Entrust::can('student_activity_*'))
    <li>
        <a href="#" title="sa_menu">
            <i class="glyph-icon icon-star"></i>
            <span>Student Activity</span>
        </a>
    <div class="sidebar-submenu">
        <ul>
@if(Entrust::can('student_activity_merit_stadd'))
    <li><a href="{{ url('/student_activity/merit2') }}" title="Merit"><span>Merit Management</span></a></li>
@endif

@if(Entrust::can('student_activity_setting_stadd'))
    <li><a href="{{ url('/student_activity/viewprogsoc/merit') }}" title="Settings"><span>Settings</span></a></li>
@endif
        </ul>
    </div><!-- .sidebar-submenu -->
    </li>
@endif

web.php

//settings view
Route::get('/{option}/merit', 'StudentActController@viewMerit');

//merit view
Route::get('/merit2', 'StudentActController@viewMerit2');

StudentActController.php

public function viewMerit($option){
   // Some query ...
   return view('stad_student_activity.sa_settings', compact(...));
}

public function viewMerit2(){

   // Some query ...
   return view ('stad_student_activity.sa_merit', compact(...));
}

查看刀片只是普通刀片。

每当我切换到这两页时,侧边栏将不起作用。老实说,我不知道这是委托问题还是CSS ...

我已经用谷歌搜索了这个问题,没有一个有用。

我已经检查了数据库中的角色和权限,并且用户Admin已经为 student_activity_merit_stadd student_activity_setting_stadd 分配了角色。

谢谢。

1 个答案:

答案 0 :(得分:0)

我将在这里继续,因为我想分享您接下来可以尝试的内容。即使我怀疑问题与委托包有关。我认为您的导航脚本未加载。

因此,根据软件包的文档,如果您使用的是this one

您可以使用blade指令代替Facade,而不是使用

    $base_url = 'http://localhost.com/';

    function writeHeader($profile){ 
       echo '<a href="'.$base_url.'update_profile">Update Profile</a>';
    }

尝试一下:

@if(Entrust::can('student_activity_*'))
@endif