arcesilas/active-state

此包已被废弃且不再维护。未建议替代包。

Laravel基于URL、路由或查询字符串的链接激活状态助手

v4.0 2019-12-29 19:21 UTC

README

Packagist license Travis Scrutinizer

此包帮助您检查给定的链接是否与当前URL、路由或查询字符串匹配。这在侧边栏中特别有用。

历史记录
此包最初是从 pyaesone17/active-state 分支出来的。为了修复 问题 #8,我完全重写了这个包。

基本上,你会这样做

<li class="sidebar {{ Request::is('post') ? 'active' : 'no' }} ">Post</li>
<li class="sidebar {{ Request::is('page') ? 'active' : 'no' }} ">Page</li>

使用此包,你可以使它更简洁

<li class="sidebar {{ active_path_is('post') }} ">Post</li>
<li class="sidebar {{ active_path_is('page') }} ">Page</li>

或者,如果你更喜欢检查路由

<li class="sidebar {{ active_route_in('users.list') }}">Users list</li>
<li class="sidebar {{ active_route_in('groups.list') }}">Groups list</li>

关键词:路由、URL、查询、菜单、链接、请求、Laravel、激活

TL;DR

你可能只需要速查表

目录

  1. 快速入门
  2. 安装
  3. 从v2.x升级到v3.x
  4. 使用方法
  5. Blade指令
  6. 附加功能
  7. 速查表

快速入门

使用Composer安装

composer require arcesilas/active-state:^4.0

版本4目前处于alpha版本。如果你的配置需要高于alpha版本,请确保指定完整版本

composer require arcesilas/active-state:^4.0.0-alpha

如果你想要最新版本

composer require arcesilas/active-state:@dev-develop-v4

在你的视图中使用它

检查当前路径是 foo/bar

<li class="menu-item {{ Active::ifPathIs('foo/bar') }}">Foo: Bar</li>

将渲染

<li class="menu-item active">Foo: Bar</li>

如果当前路径实际上是 foo/bar

检查路由名称是 posts

<a class="nav-link {{ Active::ifRouteIn('posts') }}" href="{{ route('posts') }}">

检查路由名称是 postsslug 参数是给定的值

<a class="nav-link {{Active::ifRouteIs('posts.category', ['slug' => $category->slug])}}" href="{{ route('posts.category', $category->slug) }}">

检查查询字符串包含参数 foo 值为 bar

<a class="nav-link {{Active::ifUrlContains(['slug' => $category->slug])}}" href="{{ route('videos.category', $category->slug) }}">