lfukumori/laravel-blade-include-relative

This package is abandoned and no longer maintained. No replacement package was suggested.

Allows to include blade template with relative path based on current view.

v5.8.4 2019-08-28 20:28 UTC

This package is auto-updated.

Last update: 2023-07-29 01:56:29 UTC


README

Allows to include blade template with relative path based on current view.

Installation

Require this package with composer.

composer require fukumori/laravel-blade-include-relative

Clear view cache BEFORE usage

php artisan view:clear

Usage

Make your view including sub-view with relative path

<!-- Stored in resources/views/site/some-file.blade.php -->

{{-- full include with hint --}}
@include('site::partials.included-view', ['name' => 'site::partials.included-view'])
{{-- full include (normal usage) --}}
@include('site.partials.included-view', ['name' => 'site.partials.included-view'])
{{-- relative include --}}
@include('partials.included-view', ['name' => 'partials.included-view'])
{{-- relative includeIf --}}
@includeIf('partials.included-view', ['name' => 'if partials.included-view'])
{{-- relative includeWhen --}}
@includeWhen(true, 'partials.included-view', ['name' => 'when partials.included-view'])
{{-- relative each --}}
@each('partials.included-view', ['each1 partials.included-view', 'each2 partials.included-view'], 'name')

Make your sub-view

<!-- Stored in resources/views/site/partials/included-view.blade.php -->

<div>Included view with: {{ $name ?? '' }}.</div>

Call your view

<!-- Stored in routes/web.php -->

Route::view('/test', 'site.some-file');

See the magic appear

<div>Included view with: site::partials.included-view.</div>
<div>Included view with: site.partials.included-view.</div>
<div>Included view with: partials.included-view.</div>
<div>Included view with: if partials.included-view.</div>
<div>Included view with: when partials.included-view.</div>
<div>Included view with: each1 partials.included-view.</div>
<div>Included view with: each2 partials.included-view.</div>

Know Issues

If a view was previously loaded with a name and does not exist in the current paths, the last valid view with that name will be include.