为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改 Laravel 中的活动标题项?

如何更改 Laravel 中的活动标题项?

PHP
莫回无 2022-01-08 17:28:37
所以我在 site.blade.php 中有一个标题,我添加了一个活动类,这样用户就可以知道他在哪个页面。但是,由于每个页面的标题都是相同的,我不知道如何更改类根据用户所在的页面,从一个项目到另一个项目处于活动状态。标头的基本演示<li class="active"> <a href="{{ url('') }}">Home</a> </li><li> <a href="{{ url('blog') }}">Blog</a> </li>该课程就是那个,但是当我转到博客页面时,我想从家中删除活动课程并将其添加到博客中。有什么帮助吗?
查看完整描述

3 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

你可以使用这样的is()方法:


<li class="{{Request::is('/')?'active':''}}"> <a href="{{ url('') }}">Home</a> </li>

<li> <a class="{{Request::is('blog')?'active':''}}" href="{{ url('blog') }}">Blog</a> </li>



查看完整回答
反对 回复 2022-01-08
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

我建议您使用命名路由并设置一个辅助函数。这将有助于保持导航清洁。


示例命名路线


Route::get('/','HomeController@index')->name('home');

Route::get('/blog','BlogController@index')->name('blog.index');

Route::get('/blog/{blog}','BlogController@show')->name('blog.show');

示例辅助函数


if (!function_exists('isActiveRoute'))

{

    /**

     * Asserts active route

     *

     * @param $routes

     * @param string $output

     * @return string

     */

    function isActiveRoute($routes, $output = 'active')

    {

        foreach ((array)$routes as $route) {

            if (Route::currentRouteName() == $route) {

                return $output;

            }

        }

    }

}

样品刀片导航


<li class="{{ isActiveRoute('home') }}"> <a href="{{ route('home') }}">Home</a> </li>

<li class="{{ isActiveRoute('blog.index') }}"><a href="{{ route('blog.index') }}">Blog</a> </li>


// Or pass an array of routes if named accordingly


<li class="{{ isActiveRoute(['blog.index','blog.show']) }}"><a href="{{ route('blog.index') }}">Blog</a> </li>


查看完整回答
反对 回复 2022-01-08
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

您可以将 $currentPage 变量传递给每个控制器方法中的视图,并在标头本身中执行以下操作:


<li class="{{ $currentPage=='home' ? 'active' : '' }}"> <a href="{{ url('') }}">Home</a> </li>


<li class="{{ $currentPage=='blog' ? 'active' : '' }}"> <a href="{{ url('blog') }}">Blog</a> </li>

你的控制器:


return view("blog", ["currentPage"=>'blog']); // do the same for home

这样,三元运算符仅在您位于正确页面上时才添加“活动”类。


查看完整回答
反对 回复 2022-01-08
  • 3 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信