我想要一个伪动态导航栏,当用户登录时它会改变颜色。只要用户经过身份验证,无论用户在页面内的哪个位置(主页、联系我们页面等)漫游,都应该发生这种颜色变化。有人可以提供一些想法吗?
它不必是多种颜色。就像用户登录之前一样,它是黑色的。用户登录后,变为蓝色
<div class="container-fluid">
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="contact">Contact Us</a>
</li>
</ul>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="login">Login</a>
</li>
<li class="nav-item">
<a class="nav-link"href="new_user">Signup</a>
</li>
</ul>
</div>
</nav>
最佳答案
如果您希望再次轻松地自定义它,您最好使用辅助函数。为此:
在
app
文件夹中创建helper.php
文件像这样把你的代码放进去
<?php function getNavigationColor() { if (auth()->check()){ return 'bg-color-black'; else{ return 'bg-color-blue'; } }
编辑
composer.json
在autoload
末尾添加以下行"autoload": { //... other params "files":[ "app/helpers.php" ] },
在命令行中运行
composer du
现在您可以在项目中的任何位置访问 getNavigationColor()。
然后在你想要的任何地方使用它,如下所示:
<div class="container-fluid">
<nav class="navbar navbar-expand-md navbar-dark bg-dark {{ getNavigationColor() }}">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="contact">Contact Us</a>
</li>
</ul>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="login">Login</a>
</li>
<li class="nav-item">
<a class="nav-link"href="new_user">Signup</a>
</li>
</ul>
</div>
</nav>
关于Laravel 7.24 如果用户登录,如何更改导航栏的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64461986/