laravel - 在 Laravel 中的活动 url 上动态应用“活动”类,什么是干净和可重用的方式?
问题描述
对于以下网址:
- http://localhost/admin/users
- http://localhost/admin/users/create
- http://localhost/admin/users/profile/1
我想在 Laravel 中动态地将“活动”类应用于用户导航,如下所示:
<ul>
<li class="active"><a href="{{ route('users') }}">Users</a></li>
<li class=""><a href="{{ route('pages') }}">Pages</a></li>
</ul>
在不使用第三方插件的情况下,干净且可重用的方法是什么?
解决方案
方法一:单行捷径解决方案
使用 {{ request()->is(' users ') ?'active' : '' }} 如本答案所述,如下所示:
<ul>
<li class="{{ request()->is('*users*') ? 'active' : '' }}"><a href="{{ route('users') }}">Users</a></li>
<li class="{{ request()->is('*pages*') ? 'active' : '' }}"><a href="{{ route('pages') }}">Pages</a></li>
</ul>
方法2:清洁和可重复使用的解决方案
您可以按照以下步骤创建和使用名为“active”的自定义帮助程序:
- 在你的类属性中添加 {{ active('partial-url') }}
<ul>
<li class="{{ active('users') }}"><a href="{{ route('users') }}">Users</a></li>
<li class="{{ active('pages') }}"><a href="{{ route('pages') }}">Pages</a></li>
</ul>
- 在您的应用程序目录中创建一个名为“helpers.php”的文件并添加此帮助函数
<?php
function active($partialUrl){
return request()->is("*".$partialUrl."*") ? 'active' : '';
}
- 通过在 composer.json 文件中添加以下行,将 helpers.php 文件添加到自动加载
...
"autoload": {
...
"files": [
...
"app/helpers.php",
],
...
},
...
上面代码片段中的“...”表示可能有也可能没有其他一些代码行
- 通过运行以下命令转储自动加载程序
composer dump-autoload
推荐阅读
- ios - Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序
- python - mask-rcnn 无法正确屏蔽“细长”对象,例如动物尾巴
- php - 在线测验 问题 ID 未插入数据库
- node.js - 本地主机没有发送任何数据 - ERR_EMPTY_RESPONSE
- google-sheets - 在 Google 工作表中查找相似值并移动单元格
- java - 类仍然通过 PHP 中的旧数组
- mule - 在 Mule 4 中声明动态数据编织变量,就像我们在 Mule 3 中所做的那样
- android - 如何修复“java.lang.IllegalStateException:无法从 CursorWindow 读取第 0 行,第 2 列。”
- ruby-on-rails - 如何为以下代码创建 RSpec 测试
- keras - Keras 学习乘以二的问题