Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更改Laravel中的活动标题项?_Php_Html_Laravel - Fatal编程技术网

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

Php 如何更改Laravel中的活动标题项?,php,html,laravel,Php,Html,Laravel,因此,我在site.blade.php中有一个标题,并添加了一个活动类,这样用户就可以知道他在哪个页面。但是,由于每个页面的标题都是相同的,我不知道如何根据用户所在的页面将活动类从一个项目更改为另一个项目 标题的基本演示 <li class="active"> <a href="{{ url('') }}">Home</a> </li> <li> <a href="{{ url('blog') }}">Blog</a

因此,我在site.blade.php中有一个标题,并添加了一个活动类,这样用户就可以知道他在哪个页面。但是,由于每个页面的标题都是相同的,我不知道如何根据用户所在的页面将活动类从一个项目更改为另一个项目

标题的基本演示

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

<li> <a href="{{ url('blog') }}">Blog</a> </li>
  • 这个类就是那个类,但当我转到博客页面时,我想从主页上删除活动类并将其添加到博客中

    有什么帮助吗?

    您可以使用如下方法:

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

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

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

    这样,三元运算符只在您位于正确页面时添加类“active”。

    我建议您使用命名路由并设置助手函数。这将有助于保持您的导航整洁

    命名路由示例

    Route::get('/','HomeController@index')->名称('home');
    路由::获取('/blog','BlogController@index')->name('blog.index');
    路由::get('/blog/{blog}','BlogController@show')->name('blog.show');
    
    示例助手函数

    如果(!function_存在('isActivityRoute'))
    {
    /**
    *断言活动路由
    *
    *@param$routes
    *@param字符串$output
    *@返回字符串
    */
    函数isActiveRoute($routes,$output='active')
    {
    foreach((数组)$routes作为$route){
    如果(路由::currentRouteName()==$Route){
    返回$output;
    }
    }
    }
    }
    
    示例刀片导航

  • //或传递路由数组(如果相应命名)

  • nice one@Ahmad Atoui。