数据库中的刀片无法正常工作

时间:2017-01-21 15:34:22

标签: laravel blade

我正在使用带有laravel的voyager backoffice,并且我遇到了来自数据库的刀片问题,所有代码都工作,除了刀片,数据库外的所有刀片代码都运行良好。 我已经使用过{{}},{!! !!},{{{}}},Html_entity_decode()但没有任何效果。

感谢任何帮助。 谢谢

View:

@extends ('layout')

@section ('content')

    @foreach ($pageContent as $page)
        {!! $page->slug !!}
        {!! $page->title !!}
        {!! $page->body !!}
    @endforeach

@endsection



body that came from db:


<div class="container contacts_content_container">
    <div class="row">
        <div class="col-sm-12 text-center">
            <div class="content">
                <h1>Contact US Form</h1>

                @if(Session::has('success'))
                    <div class="alert alert-success">
                       {{ Session::get('success') }}
                    </div>
                @endif

                {!! Form::open(['route'=>'contactus.store']) !!}

                <div class="form-group {{ $errors->has('name') ? 'has-error' : '' }}">
                    {!! Form::label('Name:') !!}
                    {!! Form::text('name', old('name'), ['class'=>'form-control', 'placeholder'=>'Enter Name']) !!}
                    <span class="text-danger">{{ $errors->first('name') }}</span>
              </div>

                <div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
                    {!! Form::label('Email:') !!}
                    {!! Form::text('email', old('email'), ['class'=>'form-control', 'placeholder'=>'Enter Email']) !!}
                    <span class="text-danger">{{ $errors->first('email') }}</span>
               </div>

               <div class="form-group {{ $errors->has('message') ? 'has-error' : '' }}">
                   {!! Form::label('Message:') !!}
                   {!! Form::textarea('message', old('message'), ['class'=>'form-control', 'placeholder'=>'Enter Message']) !!}
                   <span class="text-danger">{{ $errors->first('message') }}</span>
               </div>

               <div class="form-group">
                   <button class="btn btn-success">Contact US!</button>
               </div>

               {!! Form::close() !!}
            </div>
        </div>
    </div>
</div>




Controller:

<?php

namespace App\Http\Controllers;
use App\Page;
use Illuminate\Routing\Controller;

class PageController extends Controller {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        // get all the pages
        $pages = Page::all();

        // load the view and pass the pages
        return view('public.about')
            ->with('pages', $pages);
    }

    public function slug($slug)
    {
        // get page where slug
        $pageContent = Page::where('slug', $slug)->get();

        // load the view and pass the page content
        return view('public.' . $slug)
            ->with('pageContent', $pageContent);
    }
}




Routes:

//Pages Routing With slug
Route::get('/{slug}','PageController@slug');

2 个答案:

答案 0 :(得分:0)

我说在数据库中保留模板不是一个好主意,但如果你真的需要它,你可以手动解析Blade模板。有多种方法可以做到这一点,其中一种方法是使用compileString()方法:

$html = Blade::compileString($page->template);

答案 1 :(得分:0)

可能是compileString()可能对你有用。试试这个

Blade::compileString('Your blade syntax from db {!! $variable !!}');