@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 . В отдельном классе, который подгружается через сервис провайдер шарим любые данные прямо в нужные вьюшки. Единственный минус, композер запускается после контроллера, перед вью, что иногда может вызвать дискомфорт
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы