Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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
带链接的Laravel动态面包屑_Laravel_Laravel 5.2_Breadcrumbs_Adminlte - Fatal编程技术网

带链接的Laravel动态面包屑

带链接的Laravel动态面包屑,laravel,laravel-5.2,breadcrumbs,adminlte,Laravel,Laravel 5.2,Breadcrumbs,Adminlte,我正在尝试用链接在laravel中实现动态面包屑。我通过以下代码成功地呈现了面包屑,但没有链接 <ol class="breadcrumb"> <li><a href="#"><i class="fa fa-dashboard"></i>Marketplace</a></li> @foreach(Request::segments() as $segment) <li>

我正在尝试用链接在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>

  • @foreach(Request::segments()作为$segment)
  • @endforeach
    但现在我面临着URL的问题。我正在获取包含所有Decedent的路由的当前url。有人能帮我吗?我怎样才能添加到面包屑的链接


    谢谢

    只需在任何链接之前添加斜杠
    /
    ,即可向域名添加Decedents 那样


    如果我正确理解您的问题,您只需填写链接的URL即可。这是未经测试,但我认为它应该工作

    <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>
    
    
    
  • @foreach(Request::segments()作为$segment)
  • @endforeach
    我不确定您是否已经找到了解决方案,但我在我的项目中找到了一种方法。它可能对您的实现很有用

    最后,我要么将整个url添加到链接中,要么只添加段,这是ofc所不需要的,因此使用数组切片,我从数组中的0索引开始切片,并仅切片,直到循环的当前迭代,然后将数组内爆为字符串,然后使用url::创建链接

    <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>
    
    
    

  • @对于($i=2;$i这对我很有效,在Laravel 5.4中尝试过*

    此代码完美运行的要求:所有URL都应该在路由文件中具有层次结构模式

    下面的代码将为每个路径创建crump-

    <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
    
    >
    @对于($i=1;$i 0)
    >
    @else{{ucwords(str_replace('-','',Request::segment($i))}
    @恩迪夫
    @结束
    
    因此,URL的面包屑将是->>xyz


    希望这能有所帮助!

    我写了一段代码,可以动态处理laravel资源(索引编辑创建)路由:

    自定义面包屑=>Custom.blade.php

    @php
        $segments=[];
        $l=count(Request::segments())-1
    @endphp
    
    @switch(Request::segments()[$l])
        @case('edit')
            @php
                $l--;
                $segments=array_slice(Request::segments(),0,$l);
                $segments[]=$model->slug // Model that passed to this included blade file
            @endphp
        @break
        @default
            @php $segments=Request::segments() @endphp
    @endswitch
    
    @php
        $link=''
    @endphp
    @foreach($segments as $sg)
       @php $link.='/'.$sg @endphp
       @if($loop->index<$l)
          <li class="breadcrumb-item">
             <a href="{{$link}}">{{ucfirst($sg=='admin'?'home':$sg)}}</a>
          </li>
       @else
          <li class="breadcrumb-item active">
             {{ucfirst($sg)}}
          </li>
       @endif
    @endforeach
    
    @include('admin.vendor.breadcrumb.custom',['model'=> $articles])
    

    提供url示例url和生成的面包屑,这样我们就可以帮助您了。我建议@Qazi url应该是这样的:面包屑应该是admin>types>create@Jeff我检查了,这将是我的第二个选择。我试图用一个简单的函数来处理它。因为上面的代码给了我需要的路由数组。我只想知道,如果我有一些函数,我可以发送每个路由名称,如下面的URL,如果我发送“类型”然后它给出了当前控制器或路径。这样我就可以只使用一个函数完成此操作。请让我知道我的方法是否正确,或者我应该立即使用面包屑库?谢谢。@Jeff,我使用了该库,非常棒。在laravel 5上工作得很好。我改变了用自己的函数处理面包屑的想法。谢谢你的回复响应。我已经试过了,但是它会给其他链接和名称空间带来问题。我想我应该用一些库来代替这个。无论如何,谢谢你的帮助。:)是的,我最终得到了一个库,它帮助了很多东西,并且自己管理了很多东西。但你的解决方案似乎正是我想要做的。我当然也会试试。谢谢你的帮助。:)很高兴你能找到有用的。这是有用的。谢谢。效果很好。对于这个小而简单的代码,我为什么要使用这个包呢。再次感谢。我不知道为什么没有人放弃投票。到目前为止,这个代码对我来说非常有用。我为它创建了一个部分模板,所以我不必重复代码。我将代码粘贴到
    ~/views/breadcrumbs.blade.php
    中,然后将其称为
    @include('breadcrumbs')