@SleepGame

Как реализовать код в laravel для вывода инфы в одном блоке?

Суть в чем, попробую донести как надо.
Есть главный файл админки:
<!DOCTYPE html>
<html lang="{{ config('app.locale') }}">
    <head>
 @include('admin.inc.head')
    </head>
<body>
@include('admin.inc.authpanel')
@include('admin.inc.subnavbar')
<!-- /subnavbar -->
         @yield('content')
@include('admin.inc.footer')
<!-- /footer -->

Куда прилетают данные, через директиву @yield по определенному действию.
Если нужно создать статью, то загружаются данные файла create.blade.php в @yield.
В файле create(и так все остальные), через include вставляется код со столбцом где выводиться список всех статей.
Этот код имеет переменные, которые передаются от контролера PostController и метода create в файл create.blade.php.
но если мы загрузим например метод update, и не передадим там переменные для списка, то появиться ошибка (то есть нужно во всех методах указывать эти переменные).
А переменные передаются через массив
$data = [
        'posts'=>Post::where('id', '<>', $id)->get(), 
        'article'=>Article::find($id),//выбираем статью для редактирования
        'categories'=>Category::all(),
        ];

Теперь к сути, как сделать что б постоянно не прописывать в каждом методе, который загружает файл со столбцом, массив с переменными и их можно было редактировать в дальнейшем с одного места?
Сам новичек, начинаю работать с php фреймворком. Не судите строго
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Barmunk
Я для этого использую https://laravel.com/docs/5.4/views#view-composers . В отдельном классе, который подгружается через сервис провайдер шарим любые данные прямо в нужные вьюшки. Единственный минус, композер запускается после контроллера, перед вью, что иногда может вызвать дискомфорт
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы