This package provides custom directives so you can easily access Statamic data in your Blade templates.
- PHP 7.4+
- Statamic v3
You can install this package via composer using:
composer require edalzell/blade-directives
The package will automatically register itself.
Use the same params as the {{ collection }}
tag
@collection('pages', ['title:is' => 'My Title', 'author:is' => 'Erin', 'limit' => 3, 'sort' => 'title:desc'])
{{ $entry['title'] }}
@endcollection
Use this when you have Statamic data but it's a Value
object. This will return a keyed array with all the fields as string/ints/arrays (recursively).
@data($theValueObject)
{{ $fieldYouWant }}
@enddata
Gets all the data in an entry. In the example below the data is a replicator, so you have to walk through the sets.
@entry('the_collection_handle', 'entry-slug')
@foreach($replicator as $set)
<p>Type is {{ $set['type'] }}</p>
@include("partials/{$set['type']}", $set)
@endforeach
@endentry
You can pass in the same parameters that {{ form:create }}
supports.
Any other parameters will be added to the <form>
tag as attributes.
To access the errors, use standard Blade errors
but pass in the proper error bag, which is form.your-form-handle
.
@form('contact_us', ['redirect'=> '/', 'error_redirect' => '', 'allow_request_redirect' => false, 'id' => 'form-id', 'class' => 'foo'])
Email: <input type="text" name="email" />
@error('email', 'form.contact_us')
<div>{{ $message }}</div>
@enderror
<button>Contact Us</button>
@endform
Generates the glide image.
@glide('/assets/IMG_1325.jpeg', ['width' => 100])
<p>URL is {{ $url }}</p>
<img src="{{ $url }}">
<p>Width is {{ $width }}</p>
<p>Hight is {{ $height }}</p>
@endglide
@globalset('footer')
{{ $set_variable }}
@endglobalset
@globalset('footer', 'set_variable')
@nav('footer')
{{ $item['title'] }}
@endnav
You can use the same parameters as the nav
tag.
@nav('collection::pages', ['from' => '/', 'show_unpublished' => true, 'include_home' => true])
{{ $item['title'] }}
@endnav
@site
{{ $short_locale }}
@endsite
@site('short_locale')
@taxonomy('tags')
<p>Title is {{ $term['title'] }}</p>
@endtaxonomy
Run the tests with:
vendor/bin/phpunit
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.