fullscreeninteractive/silverstripe-keyvaluefield

A Silverstripe FormField for extending TextField with several parts (keys)

Maintainers

Package info

github.com/fullscreeninteractive/silverstripe-keyvaluefield

Homepage

Type:silverstripe-vendormodule

pkg:composer/fullscreeninteractive/silverstripe-keyvaluefield

Statistics

Installs: 49

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

3.0.0 2026-04-14 00:23 UTC

This package is auto-updated.

Last update: 2026-04-14 00:24:16 UTC


README

Version License CI

A reusable approach to a form field which extends a simple Text field to have several named parts (keys). This module also supports User Defined Forms.

Installation

composer require fullscreeninteractive/silverstripe-keyvaluefield

Usage

Image of Function

use FullscreenInteractive\KeyValueField\KeyValueField;

$fields = new FieldList(
    KeyValueField::create('Quantity', 'Enter quantity of each size')
        ->setKeys([
            'Small',
            'Medium',
            'Large'
        ])
);

When using ORM managed forms and models (i.e saveInto) data will be saved as a serialized array of the values to each of the keys. You can change this behaviour if needed in your Form class.

public function doSave($data, $form)
{
    $quantity = $form->dataFieldByName('Quantity');

    // returns an array of key => value
    $values = json_decode($quantity->dataValue(), true);

    echo $values['Small']
}

Licence

BSD 3-Clause License