【问题标题】:Dealing with breadcrumbs in Laravel 4在 Laravel 4 中处理面包屑
【发布时间】:2016-11-09 19:01:25
【问题描述】:

我的页面上有简单的面包屑

<ul class="breadcrumb"> 
<li> 
    <i class="glyphicon glyphicon-home"></i> 
         <a href="{{URL::to('/') }}">Home</a> 
    </li> 
    <?php $link = URL::to('/'); ?> 
    @for($i = 1; $i <= count(Request::segments()); $i++) 
        <li> 
            @if($i < count(Request::segments()) & $i > 0) 
                <?php $link .= "/" . Request::segment($i); ?> 
                    <a href="<?= $link ?>">{{Request::segment($i)}}</a> 
            @else {{Request::segment($i)}} 
            @endif 
</li> 
    @endfor 
</ul>

这会产生像Home / Page / etc这样的面包屑

这里的问题是我的路由器中的视图是这样的

Route::get('/users/profile', ['uses' => 'UsersController@viewProfile', 'before' => 'auth|csrf']);
Route::get ('/admin/pages/edit/{pageId}', ['uses' => 'AdminController@pageEdit', 'before' => 'admin']);

所以对于两条路线,面包屑都是

Home / Users / Profile
Home / Admin / Pages / Edit / 1

在这种情况下,面包屑中的中间路径不存在/ Users // Edit / .. 有很多这样的页面。有没有办法避免这种情况?

编辑:

我知道我只能更改路由器中的路由,但我不想。所以需要一些其他的方法来实现这一点..

【问题讨论】:

    标签: php laravel-4 breadcrumbs laravel-blade


    【解决方案1】:

    您可以use this,然后添加一个条件(第 24 行):

    @if ($title != 'Users' && $title != 'Edit')
        <a href="{{ $bread }}"><span>{{ $title }}</span></a>
    @endif
    

    或者,如果您有很多想要避免的这些值,那么您可以写一个array 并用相同的方法检查它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      相关资源
      最近更新 更多