Building OctoberCMS Form Field Widgets like a Pro
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 fields: name: label: Name type: text required: true ingredients: label: Ingredients type: repeater prompt: Add new ingredient form: fields: ingredient: label: Ingredient type: text how_much: label: How much type: number unit: label: Unit type: dropdown options: spoon: Spoon ounce: Ounce # etc
Continue reading %Building OctoberCMS Form Field Widgets like a Pro%