#php #laravel #content-management-system #laravel-5.2 #blade
#php #laravel #content-management-system #laravel-5 #laravel-blade
Вопрос:
Я динамически сохраняю страницы в своей базе данных (таблица страниц).
Когда я сохраняю блейд-функцию, например {{ trans('langfile.key') }}
, в своей базе данных, а затем представляю ее в моем представлении, блейд {{}}
-функции не запускаются. Есть идеи о том, как это сделать?
Строка таблицы
1 test This is our test title {{ trans('commons.mobile') }} 2016-10-06 08:37:49 2016-10-06 08:42:48
Контроллер
public function show(Request $request, $slug){
$page= DB::table('pages')->where('slug', $slug)->first();
return View::make('page')->with('page', $page->page_content);
}
Вид
@extends('layouts.app')
@section('content')
<div class="container contentpadding"></div>
{!! $page !!}
@stop
Результат {{ trans('commons.mobile') }}
и не мобильный (если lang = us)
Комментарии:
1. Это потому, что блейд анализирует {!! $page !!} для эха $page;, в этом случае функциональные возможности и синтаксис блейда больше не анализируются. Лучший способ сделать эту работу — либо самостоятельно проанализировать содержимое, используя разделительную панель, но это может быть сложно. Лучшей практикой может быть использование такого пакета: github.com/Flynsarmy/laravel-db-blade-compiler удачи вам!
2. Спасибо! Если кому-то еще интересно, я также нашел блейд-функцию с именем Blade::compileString . Затем получите html оттуда. laracasts.com/discuss/channels/general-discussion/… мне помогло.