Laravel-如何从特定页面的视图中删除元素

Laravel-如何从特定页面的视图中删除元素,laravel,Laravel,我的导航顶部栏中有一个链接,当用户在注册页面上时,我想删除该链接。我本以为我可以使用url帮助器来实现这一点,但它显然不起作用: 我是这样设置的: @if(!url('/register')) <li> <a class="btn btn-link" href="{{ url('/register') }}">Register</a> </li> @endif @if(!

我的导航顶部栏中有一个链接,当用户在注册页面上时,我想删除该链接。我本以为我可以使用url帮助器来实现这一点,但它显然不起作用:

我是这样设置的:

      @if(!url('/register'))
        <li>
          <a class="btn btn-link" href="{{ url('/register') }}">Register</a>
        </li>
      @endif
@if(!url('/register'))
  • @恩迪夫
    用于检测当前URL是否与字符串匹配:

    @if (request()->is('register*'))
    

    您可以使用
    Route::getCurrentRoute()->getPath()
    方法获取当前url,如下所示:

    @if(Route::getCurrentRoute()->getPath() != 'register')
    
     <li>
         <a class="btn btn-link" href="{{ url('/register') }}">Register</a>
     </li>
    
    @endif
    
    @if(Route::getCurrentRoute()->getPath()!=“register”)
    
  • @恩迪夫
    希望这个答案对你有帮助

    最简单的方法(不需要记住很多API)是在方法中添加一个变量:

    public function register() // if this is your page in the controller
    {
      return view('register')->with('no_register_link', true);
    }
    
    因此,您可以在模板中进行检查:

    @if (!$no_register_link)
    <li>...template...</li>
    @endif
    
    @if(!$no\u register\u链接)
    
  • …模板
  • @恩迪夫

    通过这种方式,可以将显示逻辑和url本身分开。(如果您想在另一页中忽略它。)

    您可以添加laravel版本吗?在这种情况下,包含寄存器的所有路由都不会显示按钮。小心点)@dyachenko,我添加了asterix来展示它是如何工作的。)无论如何,我建议点击上面的链接,阅读关于
    is()
    方法的内容。