@warcevil

Как делать виджеты в laravel?

Подскажите, как делать виджеты, как в laravel? Например, я хочу сделать виджет меню, чтобы потом в представлении написать что то типа: menu(top).. Как то так.. Знаю, что есть пакет widgets, но интересно, какие есть решения в самом фреймворке. Сейчас познакомился с view composer, который частично решает мою проблему, но с ним нет прямого взаимодействия из представления. Т.е. какие то параметры ему передать я так понимаю нельзя, только получить данные в конкретное представление. Вообщем буду благодарен за ответ )
  • Вопрос задан
  • 5147 просмотров
Пригласить эксперта
Ответы на вопрос 3
Tesla
@Tesla
Как примитивный вариант, логику для views можно вынести в View Composers. А вообще пользуйте arrilot/laravel-widgets и не заморачивайтесь.
Ответ написан
Комментировать
@Billy_Milligan
Так можно же сделать blade с разметкой меню, а в другом blade его подключить и передать параметры. Используйте свой код повторно для хедера, футера,карточек и т.д. Это не только сократит время на разработку, но и облегчит дальнейшую поддержку проекта, так как изменять нужно будет только один файл, а так же код будет выглядеть понятнее.

@include('view.name', ['some' => 'data'])

Пару строчек и список пользователей готов! коротко, быстро, понятно, удобно. Как по мне)
@foreach($users as $user)
    @include("view.user_card", ['user' => $user])
@endforeach
Ответ написан
Astatroth
@Astatroth
Я тут случайно
В композере можно получить данные из обрабатываемого представления через $view->getData().
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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