В Symfony я использую поведение, похожее на виджет, вызывая метод контроллера из ветки
{{ render(controller(
'App\\Controller\\ArticleController::recentArticles',
{ 'max': 3 }
)) }}
Он выполняет логику и возвращает другой шаблон веточки, который здесь вставлен.
Как вLaravel люди решают это? Мне это нужно для отображения меню, адаптивного меню, списков продуктов, хлебных крошек и т. Д.
Я прочитал о View composers
и изучил документацию - но там упоминалось только то, как вы можете ввести некоторые переменные в представление. То же самое с использованием @inject()
в блейде.
Но я хочу автономный виджет (с собственной логикой, выборкой данных ...) с пользовательским шаблоном блейда, вставленным / вставленным в любое место, откуда я их вызываю.
Спасибо за совет.
Кстати. Это не должен быть контроллер, который я вызываю, это может быть объект службы. Но дело в том же. Я лично вызывал эти объекты как _WidgetController (начиная с подчеркивания - чтобы сказать мне, это не полностью определенные представления, а компоненты / виджеты). Но я поместил их в папку «Контроллеры».