Не работает функция загрузки страницы Laravel из DB trans

#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/… мне помогло.