backend.form.extendFieldsBefore

Edit on GitHub

Triggered in: Backend\Widgets\Form.php

Called before the form fields are defined

Example usage:

Event::listen('backend.form.extendFieldsBefore', function ((\Backend\Widgets\Form) $formWidget) {
    // You should always check to see if you're extending correct model/controller
    if (!$formWidget->model instanceof \Foo\Example\Models\Bar) {
        return;
    }

    // Here you can't use addFields() because it will throw you an exception because form is not yet created
    // and it does not have tabs and fields
    // For this example we will pretend that we want to add a new field named example_field
    $formWidget->fields['example_field'] = [
        'label' => 'Example field',
        'comment' => 'Your example field',
        'type' => 'text',
    ];
});

Or

$formWidget->bindEvent('form.extendFieldsBefore', function () use ((\Backend\Widgets\Form $formWidget)) {
    // You should always check to see if you're extending correct model/controller
    if (!$formWidget->model instanceof \Foo\Example\Models\Bar) {
        return;
    }

    // Here you can't use addFields() because it will throw you an exception because form is not yet created
    // and it does not have tabs and fields
    // For this example we will pretend that we want to add a new field named example_field
    $formWidget->fields['example_field'] = [
        'label' => 'Example field',
        'comment' => 'Your example field',
        'type' => 'text',
    ];
});

Keep informed

Sign up to our newsletter to receive updates on Winter CMS releases, new features in the works, and much more.
We'll never spam or give this address away.

Latest blog post

Setting up a Winter application with Cleavr

Published November 9, 2021
In this tutorial, we describe the steps involved in using the Cleavr server management app to configure and automatically deploy a Winter project straight from your repository.

View this post Read all posts

Latest Winter CMS release

v1.1.7

Released November 13, 2021
3 UX/UI Improvements, 3 API Changes, 6 Bug Fixes, 4 Translation Improvements, 3 Community Improvements

View details View all releases