user1797484
user1797484

Reputation: 758

Laravel - header/footer includes in views?

I am new to Laravel, I would like to create my layout without using blade.

I have created a header.php view and a footer.php view.

In the filters.php file, I did this:

   App::before(function($request)
{
    return View::make('layout/top');
    //
});


App::after(function($request, $response)
{
    return View::make('layout/bot');
    //
});

And in my routes:

Route::get('/', function()
{
    return View::make('hello');
});

The header displays fine...but not the hello view or footer view.

What am I doing wrong?

Upvotes: 1

Views: 11618

Answers (2)

Kevin Crawley
Kevin Crawley

Reputation: 141

Consider rendering your header and footer views to a variable, and then passing that to your content view. This also allows you to pass in extra data such as meta, js, styles, etc. that may be unique to the page your delivering to the DOM.

$data['header'] = View::make('templates/header')->render();
$data['footer'] = View::make('templates/footer')->render();
return View::make('myview', $data);

Upvotes: 3

Guy Incognito
Guy Incognito

Reputation: 500

I believe App::after gets fired after the request: application-events

Myself, I use a single template (blade) which has a placeholder for content - You can use standard php in a blade template and this seams to give me more flexibility than controller layouts: templating

Upvotes: 0

Related Questions