• Home
  • blog
  • Building OctoberCMS Form Field Widgets like a Pro

Building OctoberCMS Form Field Widgets like a Pro

OctoberCMS logo

Creating your business website with any CMS requires you to make the back-end user friendly, and that means making the forms meaningful and accessible. In this article, we’re going to explore OctoberCMS form widgets and create a widget called UniqueValue, which helps the user enter a unique value. This could be useful for entering emails, usernames, post slugs, etc. Let’s get started.

Available Form Widgets

OctoberCMS provides a list of simple field types like email input, password, dropdown options, etc. The documentation has a list of all available fields. Moreover, the CMS provides some custom widgets like the media manager widget which lets you select an item from your media library or the WYSIWYG editor, Markdown editor, etc.

An interesting widget we should mention here is the repeater widget. Let’s say you have a recipes website. The cook will enter the recipe name and start filling in the ingredients. You might ask the user “how many ingredients do you need?” and based on that, you can generate the form fields. Another clean way to do it is to have a button at the bottom of the form that says Add new ingredient, which will generate the necessary fields for the cook when needed.

Here is an example configuration for the recipe form:

// models/recipe/fields.yaml

        label: Name
        type: text
        required: true
        label: Ingredients
        type: repeater
        prompt: Add new ingredient
                    label: Ingredient
                    type: text
                    label: How much
                    type: number
                    label: Unit
                    type: dropdown
                        spoon: Spoon
                        ounce: Ounce
                        # etc


Continue reading %Building OctoberCMS Form Field Widgets like a Pro%