Т.е. если я вас правильно понял, нормальной практикой будет: получение разных данных (акции / услуги / новости) в одном контроллере (возможно с разбивкой на методы класса/отделные классы) с последующим в возвратом всех данных в шаблон и "инклудом подшаблонов" для объеденения в блоки?
--
И, если позволите, еще пару вопросов на тему общего/шаблонного вывода из той же категории.
Если мне нужно вывести инфомрацию в общем шаблоне, к примеру "псоледние статьи", которая будет на каждой странице в одном и том же месте в шаблоне, как я понимаю я должен использовать не контроллер текущией страницы, а некий другой контроллер.
Он создается там же где и обычные контроллеры из роутов? куда его прописать (кто будет вызывать)? он будет так же передавать данные своей вьюхе? данная вьюха будет инклудится общим шалоном (из него)?
Опять же на примере Битрикс, если все упростить: я делаю вызов компонента (контроллера) в шаблона (к примеру footer.php), который выводит через свой/указанный шаблон данные. Но, как я понимаю в Laravel, в шабоне "блейда" контрллеры не вызываются, собственно вопрос, как правильно организовать подобный вывод информации для общего шаблона сайта?
]]>В шаблоне можно инклудить блоки (другие шаблоны). Данные для этих блоков можно передать из контроллера одной пачкой сразу для всех блоков, а можно настроить "view composer" чтобы он неявно подбрасывал данные куда надо.
Можно инжектить в шаблон сервис, который нужные данные будет добывать — такой подход правда некоторые участники называют нехорошими словами, но он возможен.
Гуглить "blade include", "blade component", "laravel view composer", "blade service injection"
]]>Я являюсь разработчиком на 1С-Битрикс (прошу не кидать в меня тапки), изучаю laravel так как хочется расширить кругозор и очень интересно.
Вроде как по документации многое понятно, но, уперся в следующий момент:
Цель:
- Создание страницы с поблочной информацией, в каждом блоке (список сущностей) выводится не связанная с другими блоками информация (акции/новости/услуги).
Попытка реализации:
- Делаю маршрут для главной страницы на контроллер:
Route::get('/', 'MainPage@show');
- Далее создаю контроллер, но вот на нем фантазия и заканчиватеся, т.к. контроллер один и подразумевает вызов одной "view`хи", а у меня несколько не связанных блоков в целях.
На Битриксе это выглядит так: физическая страница /index.php, на которой я вызываю несколько разных (или одинаковых компонентов с разными шаблонами) компонентов и логика начиная от страницы между этими блоками уже никак не связана.
Т.е. я думал так: Одна страница (маршрут), три вызова компонента (контроллера), три вызова разных шаблонов из компонентов (контрллеров).
Но, мне кажется в Laravel правильная логика совсем иная, я никак не могу догадаться, подскажите пожалуйста какой правильный вариант реализации такой задачи.
Заранее спасибо..
]]>