Was*_*bal 4 breadcrumbs laravel laravel-5.2 adminlte
我正在尝试使用链接在laravel中实现动态面包屑.我通过以下代码成功渲染了面包屑但没有链接.
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i>Marketplace</a></li>
@foreach(Request::segments() as $segment)
<li>
<a href="#">{{$segment}}</a>
</li>
@endforeach
</ol>
Run Code Online (Sandbox Code Playgroud)
但现在我面临着网址的问题.我得到了所有后代的路线的当前网址.有人可以帮我,我怎么能添加到面包屑的链接?
谢谢.
这对我有用,在 Laravel 5.4.* 中尝试过
此代码完美运行的要求:所有 URL 都应在您的路由文件中具有层次结构模式
下面的代码将为每个路径创建面包屑 -
<a href="/">Home</a> >
<?php $link = "" ?>
@for($i = 1; $i <= count(Request::segments()); $i++)
@if($i < count(Request::segments()) & $i > 0)
<?php $link .= "/" . Request::segment($i); ?>
<a href="<?= $link ?>">{{ ucwords(str_replace('-',' ',Request::segment($i)))}}</a> >
@else {{ucwords(str_replace('-',' ',Request::segment($i)))}}
@endif
@endfor
Run Code Online (Sandbox Code Playgroud)
所以URL 的面包屑 your_site.com/abc/lmn/xyz将是 - Home > abc > lmn > xyz
希望这可以帮助!
如果我正确理解您的问题,您只需填写链接的网址即可.这是未经测试但我认为它应该工作.
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i>Marketplace</a></li>
<?php $segments = ''; ?>
@foreach(Request::segments() as $segment)
<?php $segments .= '/'.$segment; ?>
<li>
<a href="{{ $segments }}">{{$segment}}</a>
</li>
@endforeach
</ol>
Run Code Online (Sandbox Code Playgroud)
小智 5
我不确定您是否已经为此找到了解决方案,但我想出了一种方法来解决我的项目。它可能对您的实施有用。
我最终要么将整个 url 添加到链接中,要么只添加了段,这不是我们想要的,所以使用数组切片我从数组中的 0 索引开始切片,并且只切片直到循环的当前迭代,然后内爆将数组转换为字符串,然后使用 URL::to 创建链接。
<ol class="breadcrumb">
<li>
<i class="fa fa-home"></i>
<a href="{{route('admin.index')}}">HOME</a>
</li>
@for($i = 2; $i <= count(Request::segments()); $i++)
<li>
<a href="{{ URL::to( implode( '/', array_slice(Request::segments(), 0 ,$i, true)))}}">
{{strtoupper(Request::segment($i))}}
</a>
</li>
@endfor
</ol>
Run Code Online (Sandbox Code Playgroud)
你会注意到,我只从 2 ($i = 2) 开始我的迭代,因为我的应用程序基本 URL 从 /admin 开始,我手动将我的主 URL 放在第一个面包屑中。
同样,您可能已经有了一个解决方案,但是这对于不想添加包来获取面包屑的人来说可能有用。
| 归档时间: |
|
| 查看次数: |
8920 次 |
| 最近记录: |