Adding support for Blade form field snippets in Statamic

May 15th, 2026
3 min read

Statamic comes with Form support built in - this means you can have Forms on your website and the docs include great guides to get you started with standard POST behaviour and even built-in helpers for conditional fields. As always, check out the docs.

To make this even better, your site’s Forms are driven by Blueprints, meaning your authors can update their site’s Forms with new fields to meet their changing needs.

Under the hood, Statamic uses field template snippets to render each field - and each frontend fieldtype has its own little snippet to customise how it appears on your site.

By default, these are functional, but have no styling at all. You can bring these in to your app with:

1php artisan vendor:publish --tag=statamic-forms

This will publish the fieldtype snippets to resources/views/vendor/statamic/forms/fields, and you are now free to make changes to make your form fields match your site’s theme.

Prior to Statamic 6.19, this command would publish Antlers snippets.

If you’ve been reading along, I’ve decided to switch my new Statamic builds to using Blade instead of Antlers. Which would mean that a new Blade setup would end up with Antlers snippets.

While the Statamic docs have Blade snippets available, copying-and-pasting these is just too meh. I mean, after all, we have these make and publish commands that make bringing in code to our own app so effortless. So why not for Blade too?

As part of my (unofficial) campaign to make it easier to on-board new Laravel developers to Statamic, I wondered if there would be a way to update the behaviour of this command to include Blade snippets instead.

Time to pull up the sleeves and get stuck in to the source - and yep, there’s a way.

I created PR #14639 which does a few things:

  1. It adds Blade snippets to the Statamic core - that’s obvious, of course, because we need to publish something, and

  2. it uses your site’s template config, either antlers or blade, and adjusts the publish path for your preference when running vendor:publish.

Rather than create a separate tag for these snippets, I felt it made more sense to have a single command: create a cohesive and predictable experience, rather than a separate pathway for Antlers vs Blade. After all, if someone’s site is configured for Blade, then all of the published or generated code by the framework should be Blade too. This way, regardless of template preference, there is just one command.

Update your config

Before you can get Blade templates, don’t forget to update your config/statamic/templates.php config file to change the language property from antlers to blade.

1return [
2 
3 /*
4 |--------------------------------------------------------------------------
5 | Template Language
6 |--------------------------------------------------------------------------
7 |
8 | The preferred templated language to use when scaffolding templates.
9 |
10 | Acceptable values are 'blade' and 'antlers'
11 */
12 
13 'language' => 'blade',
14 
15 // ...
16];

This will allow the vendor:publish command to publish the Blade files to your site, and will also impact the CP-based scaffolding generation.

What are the benefits?

  1. Firstly, the vendor:publish command matches our site’s config - if everything else is Blade, why not form field snippets too?

  2. Secondly, the PR updated the snippets to be feature-parity with the Antlers versions.

  3. Thirdly, no more copy-and-paste, removing friction for new Laravel devs to Statamic.

There are three pretty awesome benefits to this little update, and hopefully one that can improve the experience for new Blade-first Laravel devs to the Statamic ecosystem.