Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго времени суток!
Почитал доки, в которых сказано, что при использовании наследования, шаблоны "собираются" по цепочке, снизу вверх. И немного не могу понять одну вещь:
К примеру, есть у меня страница index.blade.php:
@yield('header')
@yield('content')
@yield('footer')
Секция "content" вставляется из файла, в котором задано:
@extends('layouts.index')
@section('content')
@yield('block_1')
....
@yield('block_2')
@stop
В свою очередь, в этот файл данные подставляются из других файлов (для block_1 и block_2 заданы отдельные файлы *.blade.php), которые содержат:
@extends('layouts.content')
@section('block_1')
...
@stop
и для block_2 соответственно подобный файл.
Вызывается это все через контроллер, при этом в block_1 и block_2 передаются различные данные:
return View::make('layouts.content');
return View::make('layouts.block_1', ['data' => $data1]);
return View::make('layouts.block_2', ['data' => $data2]);
Но вот какая проблема - шаблон создается только 1 раз с данными из первой строки, т.е. секция block_2 на сайте остается пустой. Каким образом можно в основной "скелет" передать данные в разные обозначенные секции одновременно?
Извиняюсь, если излагаю мысли не понятно, просто 3-ий день пытаюсь это реализовать, но что-то голова совсем ничего не понимает
Не в сети
Если оба блока на одной странице - это должен быть один шаблон, а не два.
block_1 и block_2 могут быть partial шаблонами внутри одного шаблона, а не расширяющими шаблонами
К примеру есть страница на сайте - главная, создаем шаблон glavnaya.blade.php вроде:
@extends('layouts.index')
@section('content')
@include('partials.block_1')
....
@include('partials.block_2')
@endsection
Не понял про 3 return подряд - это реально в коде так?
Не в сети
Если оба блока на одной странице - это должен быть один шаблон, а не два.
block_1 и block_2 могут быть partial шаблонами внутри одного шаблона, а не расширяющими шаблонами
К примеру есть страница на сайте - главная, создаем шаблон glavnaya.blade.php вроде:
@extends('layouts.index')
@section('content')
@include('partials.block_1')
....
@include('partials.block_2')
@endsectionНе понял про 3 return подряд - это реально в коде так?
Спасибо за ответ! С шаблонами разобрался, include мне не помог, т.к. там в шаблоны передаются данные от контроллера. Ну и плюс ко всему с версткой были проблемы, т.к. некоторые div в результате таких вот манипуляций просто задваивались
return реально 3 штуки подряд были, но самое смешное, что я не сразу понял это. Тяжело дается мне чтение чужого кода. Просто нужно больше практики и грабель
Не в сети
Страницы 1