我需要根据滚动隐藏导航栏的特定元素

I need to hide an specific element of a navbar depending on a rol

我有一个导航栏,并且在登录选项之外有 2 个元素,问题是我需要某个元素保留某个角色,当我未登录时.​​..

这是我的代码

<li class="nav-item">
          <a class="nav-link js-scroll-trigger" href="#services"><i class="fa fa-search"></i> Buscar</a>
        </li>
        <li class="nav-item">
          <a class="nav-link js-scroll-trigger" href="#about">Explorar cursos</a>
        </li>            
        @if (Route::has('login'))
        @auth
        @role('Alumno')
        <li class="nav-item">
          <a class="nav-link js-scroll-trigger" href="#about">Explorar cursos</a>
        </li>  
        <li class="nav-item">
          <a class="nav-link js-scroll-trigger" href="{{route('miscursos')}}"> Mis cursos</a>
        </li>
        @endrole
        @role('Administrador') 
        <li class="nav-item dropdown">
          <a class="nav-link" href="{{ route('home') }}" >
            {{ __('Tablero')}}
          </a>
        </li>
        @endrole

列表中的第二个元素是我遇到的问题,因为我在浏览页面时想要它但未登录并且我需要什么时候我使用 'Alumno' 角色

登录

问题是我不想在以管理员身份登录时看到它

您可以使用:

Auth::guest() 用于在用户未登录时有条件。因此,如果我做对了,在您的第二个列表元素中:

<?php 
@if(Auth::guest() || Auth::user()->role != 'Administrator)

// Only visible if user is NOT logged in OR logged in but not an administrator

@endif