dave dave
dave dave

Reputation: 957

laravel: how do I include partials from a blade layout?

I'd like to split my layouts into partials.

I'm creating a default blade layout.

The file is called default.blade.php, and lives in the layout folder.

Also under the layout folder is include. In this dir, I have head.blade.php

I would like to call 'head' from 'default'.

Every one of these fails and returns an error when debug is turned on:

@include('include/head'),  @include('include/head.blade.php'), @include('include/head.blade.php')

I have copied head.blade.php into the same folder as default.blade.php, and still get errors.

Upvotes: 16

Views: 23478

Answers (2)

Cranio
Cranio

Reputation: 9847

Keep in mind that Laravel uses dot notation to organize the templates and their parts.

So, the main.blade.php template in your main /views folder should be included directly:

@include ('main')

A main.blade.php template in a, e.g. /views/layouts folder should be called as:

@include ('layouts.main')

and so on.

Upvotes: 5

David Barker
David Barker

Reputation: 14620

You need to give the full path relative to your view folder. Try doing this :

@include('layout.include.head')

Upvotes: 22

Related Questions