Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 18.06.2016 20:25:03

Vail

Как правильно рендерить шапку?

Добрый день. Я плохо знаком с Laravel, в процессе разработки возник вопрос, как правильно организовать код блока, например шапки сайта.

Опишу ряд особенностей:
1. Блок может обращаться к различным моделям (например, к модели верхнего меню)
2. Нужно передавать в него ряд параметров из контроллера (например, title текущей страницы; идентификатор, для подсветки ее в меню)

Соответственно непонятно где и как должны быть расположен код работы с моделью, не во view же его пихать. Причем интересно как это реализовывать как в случае include (подключаем шапку), так и extend (наследуем от layout-а, который работает с моделью).

Также интересно как реализовывать модульную структуру, то есть независимые блоки:
1. к которым не может быть получен доступ напрямую по урлу
2. которые имеют свою бизнес-логику
3. которые могут динамически быть подключены к конкретной странице, то есть будет иметься массив модулей, привязанных к этой странице, по которым нужно пройтись циклом, отрендерить (возможно передав некоторые параметры) и вывести в некотором месте шаблона страницы.

Заранее спасибо за ответы.

#2 19.06.2016 06:04:15

Re: Как правильно рендерить шапку?

Для таких целей можно использовать виджеты
https://packagist.org/packages/arrilot/laravel-widgets
У виджета есть свой класс с бизнес логикой и вьюха.
Подключается виджет путём добавления кода

@widget('menu')

в нужный вам шаблон (view)
Также в него можно передавать необходимые параметры.

Изменено Nogard7491 (19.06.2016 06:06:05)

Не в сети

Подвал раздела