fullscreeninteractive / silverstripe-keyvaluefield
A Silverstripe FormField for extending TextField with several parts (keys)
Installs: 46
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:silverstripe-vendormodule
Requires
Requires (Dev)
- phpunit/phpunit: ^5.7
README
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
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