From e2446424961534206a8c76165a11134d1a70ad05 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Wed, 13 May 2026 10:46:32 -0400 Subject: [PATCH] Remove Blade form fields page Statamic 6 ships built-in Blade form field templates (statamic/cms#14639), so the standalone snippets page is no longer needed. The form:create tag's pre-rendered field tip now points users at the templates.language config. --- .../collections/pages/blade-form-fields.md | 270 ------------------ content/collections/tags/form-create.md | 2 +- content/trees/collections/pages.yaml | 2 - routes/redirects.php | 3 +- 4 files changed, 3 insertions(+), 274 deletions(-) delete mode 100644 content/collections/pages/blade-form-fields.md diff --git a/content/collections/pages/blade-form-fields.md b/content/collections/pages/blade-form-fields.md deleted file mode 100644 index 39eee3eba..000000000 --- a/content/collections/pages/blade-form-fields.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -id: e8504150-db55-4986-b567-19c046cc03de -blueprint: page -title: 'Blade Form Field Templates' -intro: 'By default, [Pre-rendered Field](/tags/form-create#pre-rendered-field-html) templates are implemented in Antlers. If you prefer to use Blade, you may use the following snippets as a starting point in your project.' ---- - -## Publishing Existing Templates - -You can publish the existing field templates by running `php artisan vendor:publish --tag=statamic-forms`. It will expose editable templates snippets in your `views/vendor/statamic/forms/fields` directory that will be used by each fieldtype. - -These templates are used when rendering the pre-rendered `field` variable inside a [form](/forms): - -```blade -@foreach ($fields as $field) -
- - {!! $field['field'] !!} -
-@endforeach -``` - -## Assets - -`resources/views/vendor/statamic/forms/fields/assets.blade.php` - -```blade -@php - $isMultiple = ! isset($max_files) || $max_files !== 1; - $fieldName = $handle; - - if ($isMultiple) { - $fieldName .= '[]'; - } -@endphp - - -``` - -## Checkboxes - -`resources/views/vendor/statamic/forms/fields/checkboxes.blade.php` - -```blade -@php - $inline = isset($inline) && $inline === true; -@endphp - - -@foreach ($options as $option => $label) - - @unless ($inline)
@endunless -@endforeach -``` - -## Default - -`resources/views/vendor/statamic/forms/fields/default.blade.php` - -```blade - -``` - -## Dictionary - -`resources/views/vendor/statamic/forms/fields/dictionary.blade.php` - -```blade -@php - $isMultiple = ! isset($max_items) || $max_items !== 1; - $inline = isset($inline) && $inline === true; - $placeholderText = $placeholder ?? __('Please select...'); - - $fieldName = $handle; - - if ($isMultiple) { - $fieldName .= '[]'; - } -@endphp - - -``` - -## Files - -`resources/views/vendor/statamic/forms/fields/files.blade.php` - -```blade -@php - $isMultiple = ! isset($max_files) || $max_files !== 1; - $fieldName = $handle; - - if ($isMultiple) { - $fieldName .= '[]'; - } -@endphp - - -``` - -## Radio - -`resources/views/vendor/statamic/forms/fields/radio.blade.php` - -```blade -@php - $inline = isset($inline) && $inline === true; -@endphp - -@foreach ($options as $option => $label) - - @unless ($inline)
@endunless -@endforeach -``` - -## Select - -`resources/views/vendor/statamic/forms/fields/select.blade.php` - -```blade -@php - $isMultiple = isset($multiple) && $multiple == true; - $inline = isset($inline) && $inline === true; - $placeholderText = $placeholder ?? __('Please select...'); - - $fieldName = $handle; - - if ($isMultiple) { - $fieldName .= '[]'; - } -@endphp - - -``` - -## Text - -`resources/views/vendor/statamic/forms/fields/text.blade.php` - -```blade - -``` - -## Textarea - -`resources/views/vendor/statamic/forms/fields/textarea.blade.php` - -```blade - -``` - -## Toggle - -`resources/views/vendor/statamic/forms/fields/toggle.blade.php` - -```blade - -``` diff --git a/content/collections/tags/form-create.md b/content/collections/tags/form-create.md index 8504cb550..3fd1319c4 100644 --- a/content/collections/tags/form-create.md +++ b/content/collections/tags/form-create.md @@ -267,7 +267,7 @@ Using the `field` variable will intelligently render inputs as inputs, textareas You can customize these pre-rendered snippets by running `php artisan vendor:publish --tag=statamic-forms`. It will expose editable templates snippets in your `views/vendor/statamic/forms/fields` directory that will be used by each fieldtype. :::tip -By default, pre-rendered snippets are implemented in Antlers. If you'd prefer to use Blade, you can grab some [ready-to-go Blade snippets](/blade-form-fields) to use as a starting point. +Pre-rendered snippets are implemented in Antlers by default. Blade versions will be used instead if your `statamic.templates.language` config is set to `blade`. ::: This approach, combined with the [blueprint editor](/blueprints), will give you something very similar to a traditional "Form Builder" from other platforms. diff --git a/content/trees/collections/pages.yaml b/content/trees/collections/pages.yaml index 2effcd268..2049c7279 100644 --- a/content/trees/collections/pages.yaml +++ b/content/trees/collections/pages.yaml @@ -174,8 +174,6 @@ tree: entry: 9b2f6f55-5355-4334-b90d-d1236fb58887 - entry: 7277432d-bb25-458a-a3a2-a72976b44ad5 - - - entry: e8504150-db55-4986-b567-19c046cc03de - entry: e7833062-e05c-42c9-ad35-dc5077f1f0b8 - diff --git a/routes/redirects.php b/routes/redirects.php index fc78d7e1b..fd10f8f57 100644 --- a/routes/redirects.php +++ b/routes/redirects.php @@ -87,7 +87,8 @@ Route::permanentRedirect('assets', '/frontend/assets'); Route::permanentRedirect('augmentation', '/frontend/augmentation'); Route::permanentRedirect('upgrade-guide/bard-v1-to-v2', '/getting-started/upgrade-guide/bard-v1-to-v2'); -Route::permanentRedirect('blade-form-fields', '/frontend/blade-form-fields'); +Route::permanentRedirect('blade-form-fields', '/tags/form-create#pre-rendered-field-html'); +Route::permanentRedirect('frontend/blade-form-fields', '/tags/form-create#pre-rendered-field-html'); Route::permanentRedirect('blade', '/frontend/blade'); Route::permanentRedirect('blueprints', '/content-modeling/blueprints'); Route::permanentRedirect('caching', '/advanced-topics/caching');