Laravel по-русски

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

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

#1 30.01.2015 17:50:15

Множественная вложенность шаблонов

Добрый день. Столкнулся с какой проблемой.
Есть два шаблона

layout

<!DOCTYPE>
<html>
    <head>
    </head>

    @yield('content')

</html>

и main, который наследует layout

@extends('layout')
@section('content')
    <body>
        <div class="app">
            <section class="layout">
                <section class="main-content">
                    <div class="content-wrap">
                        @yield('content')
                    </div>
                </section>
            </section>
        </div>
    </body>
@stop

в контроллере,  назначаю main, т.е как я думаю он должен будет использоваться в 90%

class BaseController extends OriginBaseController 
{
    public $layout = 'main';

    public function index()
    {
        $this->layout->content = View::make('index');
    }
}

view index

@section('content')
<div>
    <h1>Dashboard</h1>
</div>
@stop

в итоге хочу получить

<html>
    <head>
    </head>

    <body>
        <div class="app">
            <section class="layout">
                <section class="main-content">
                    <div class="content-wrap">
                         <div>
                              <h1>Dashboard</h1>
                         </div>
                    </div>
                </section>
            </section>
        </div>
    </body>
</html>

но на самом деле получается

<html>
    <head>
    </head>

    <div>
           <h1>Dashboard</h1>
     </div>
</html>

как собственно это реализовать, при это в другом шаблоне использовать именно content, потому что если нужно будет срочно поменять основной шаблон, что бы в коде не бегать и не менять руками всё

Не в сети

#2 30.01.2015 18:00:14

Quiss
Откуда: Moscow
Сообщений: 32
Сайт

Re: Множественная вложенность шаблонов

PHP
class BaseController extends OriginBaseController
{
    public 
$layout 'main';

    public function 
index()
    {
        
$this->layout->content View::make($layout);
    }
}

xD

Не в сети

#3 30.01.2015 18:29:54

Re: Множественная вложенность шаблонов

section и yield - одно и тоже. Замена контента происходит в первом @section('content'), а не в @yield('content').

Не в сети

#4 30.01.2015 18:40:21

Re: Множественная вложенность шаблонов

Решение: переименовать в @section('container').

Не в сети

#5 30.01.2015 18:49:50

Re: Множественная вложенность шаблонов

тогда получается, мне придется в контролере
где то юзать $this->layout->content, а где то $this->layout-> container так?

Не в сети

#6 30.01.2015 18:50:23

Re: Множественная вложенность шаблонов

Quiss пишет:

}%%%(php)
class BaseController extends OriginBaseController
{
    public $layout = 'main';

    public function index()
    {
        $this->layout->content = View::make($layout);
    }
}
%%

xD

я имел ввиду $this->layout->content = View::make('index');

Не в сети

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