2017-03-13 4 views
2

Dans une mise en pageLaravel mie de pain non rendu html dans Laravel 5.4

@section('breadcrumbs', Breadcrumbs::render('messages')) 
@section('content') 
@include('layouts.breadcrumbs') 

breadcrumbs.blade.php

<div class="fluid-container"> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-md-12"> 
       @yield('breadcrumbs') 
      </div> 
     </div> 
    </div> 
</div> 

Vue standard BS3 avec DaveJamesMillar Breadcrumbs

@if ($breadcrumbs) 
    <ol class="breadcrumb"> 
     @foreach ($breadcrumbs as $breadcrumb) 
      @if ($breadcrumb->url && !$breadcrumb->last) 
       <li><a href="{{ $breadcrumb->url }}">{{ $breadcrumb->title }}</a></li> 
      @else 
       <li class="active">{{ $breadcrumb->title }}</li> 
      @endif 
     @endforeach 
    </ol> 
@endif 

PARAISSAIENT travailler bien jusqu'à la mise à jour vers L5.4, maintenant, plutôt que d'afficher la chapelure, il affiche non-processus ed HTML

<ol class="breadcrumb"> <li><a href="http://www.linkremoved">Home</a></li> <li> class="active">Messages</li></ol> 

Après avoir lu les derniers documents pour Laravel-mie de pain davejamesmillar avec le soutien de https://media.readthedocs.org/pdf/laravel-breadcrumbs/latest/laravel-breadcrumbs.pdf L5.4 en référence à l'aide de rien de 1.4.2 Sections lame semble avoir changé la façon dont cela doit être codé. Je ne sais pas pourquoi le HTML n'est pas traité pour s'afficher en tant que lien.

Répondre

2

RAR, quelques heures plus tard! Semble Laravel 5.4 exécute une htmlentities lors de l'injection d'une variable dans un @section

J'ai changé

@section('breadcrumbs', Breadcrumbs::render('messages'))

à

@section('breadcrumbs') {!! Breadcrumbs::Render('messages') !!} @endsection

Et le html est en cours de traitement et affiché comme il se doit .

+0

FYI Cela devrait être corrigé dans v4.0 quand il est libéré (mais seulement pour Laravel 5.5, pas pour 5.4). https://github.com/davejamesmiller/laravel-breadcrumbs/pull/140/commits/4ae5633f –