Хочу создать в Laravel что-то вроде такой структуры:
- Главный файл шаблона: views/index.blade.php, содержащий внутри себя разделы
head(мета-теги),contentи разделы для вывода модулей (виджетов) (например,@yield('content'). - Файлы шаблонов для каждой из страниц: views/pages/..., где каждая из страниц описывает указанные в "index.blade.php" секции.
- Файлы виджетов: views/widgets/..., где описываются разметки всех виджетов.
Как это реализуется на Laravel? Например, контроллер выводит отображение для конкретной страницы следующим образом:
return view('index');
Таким образом, у меня выведется общий файл шаблона "index.blade.php". Каким образом сделать так, чтобы, например, общий файл шаблона выводился на каждой странице, а текст внутри областей head и content генерировался файлами внутри папки "pages"?
И второй вопрос: правильно ли в данном случае подключать виджеты (модули) при помощи директивы @include внутри файла конкретной страницы (views/pages)? Что-то вроде этого:
@section('widgets')
@include('widgets.miniprofile')
@stop
Сам раздел widgets при этом был бы описан внутри основного "index.blade.php" (yield).
@endsection- deprecated, поменяйте на@stophttp://stackoverflow.com/a/21199876/4581725 – apelsinka223 Feb 17 '16 at 16:40