PHPackages                             hashandsalt/kirby3-forms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hashandsalt/kirby3-forms

ActiveKirby-plugin[Utility &amp; Helpers](/categories/utility)

hashandsalt/kirby3-forms
========================

Kirby 3 - Forms

v0.0.2(5y ago)19371MITPHP

Since Oct 25Pushed 5y ago2 watchersCompare

[ Source](https://github.com/HashandSalt/kirby3-forms)[ Packagist](https://packagist.org/packages/hashandsalt/kirby3-forms)[ RSS](/packages/hashandsalt-kirby3-forms/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

Kirby 3 Forms
=============

[](#kirby-3-forms)

A small plugin for creating HTML forms more easily. Mixing HTML with PHP is quite unreadable, and this approach has the bonus of being to offload logic to the controller if necessary - this is convenient for things like select field where you might want to loop over a structure field to populate the option list.

Installation
------------

[](#installation)

### Manual

[](#manual)

To use this plugin, place all the files in `site/plugins/kirby3-forms`.

### Composer

[](#composer)

```
composer require hashandsalt/kirby3-forms

```

---

Commercial Usage
----------------

[](#commercial-usage)

This plugin is free but if you use it in a commercial project please consider to

- [make a donation 🍻](https://paypal.me/hashandsalt?locale.x=en_GB) or
- [buy a Kirby license using this affiliate link](https://a.paddle.com/v2/click/1129/36141?link=1170)

---

Usage
-----

[](#usage)

The plugin contains a number of functions to make it easier to create form elements, matching labels, and error messages.

### Input Function

[](#input-function)

Accepts an HTML input type, name, css ID, css class, and an array of all other HTML attributes needed.

```

```

Working example:

```

```

### Label Function

[](#label-function)

Accepts label text, for attribute, and css class.

```

```

Working example:

```

```

### Textarea Function

[](#textarea-function)

Accepts name, for attribute, and css class.

```

```

### Select Function

[](#select-function)

Generates an html select element.

Accepts name, css ID, css Class, Html Attribute array, default selection (optional), option to select by default (optional).

```

```

Basic use:

```

```

With an option pre-selected:

```

```

With an option pre-selected and additional HTML attributes:

```

```

### Buttons

[](#buttons)

Accepts type, name, css ID, css Class, text string, and an array of HTML attributes:

```

```

Working Example:

```

```

### Radios &amp; Checkboxes

[](#radios--checkboxes)

The input function can also be used for radio and checkbox elements:

```

  Marketing Options

  Choose Your Size:

```

### Error / Success Messages

[](#error--success-messages)

Accepts html tag, message string and css class

```

```

Working example:

```

```

Snippets
--------

[](#snippets)

The plugin contains a few snippets to match the functions above, so you can use as is or use a starting point to make your own.

```

```

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~23 days

Total

2

Last Release

2097d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d18b7200637c15341417dfabb7c51c7ec3fda44f6a24cb4780b5e7c14f309118?d=identicon)[hashandsalt](/maintainers/hashandsalt)

---

Top Contributors

[![HashandSalt](https://avatars.githubusercontent.com/u/28439755?v=4)](https://github.com/HashandSalt "HashandSalt (3 commits)")

### Embed Badge

![Health badge](/badges/hashandsalt-kirby3-forms/health.svg)

```
[![Health](https://phpackages.com/badges/hashandsalt-kirby3-forms/health.svg)](https://phpackages.com/packages/hashandsalt-kirby3-forms)
```

###  Alternatives

[getkirby/cms

The Kirby core

1.5k606.6k541](/packages/getkirby-cms)[medienbaecker/kirby-modules

Easily add modules to your pages

895.6k1](/packages/medienbaecker-kirby-modules)[fabianmichael/kirby-meta

Your all-in-one powerhouse for any SEO and metadata needs imaginable.

7011.8k1](/packages/fabianmichael-kirby-meta)[tobimori/kirby-dreamform

Kirby DreamForm is an opiniated form builder plugin for Kirby CMS 4+ that makes forms work like magic

6012.6k1](/packages/tobimori-kirby-dreamform)[medienbaecker/kirby-alter

262.5k](/packages/medienbaecker-kirby-alter)[grommasdietz/kirby-hidden-characters

Kirby CMS plugin for visualising hidden characters in the Panel

462.2k](/packages/grommasdietz-kirby-hidden-characters)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
