fullscreeninteractive / silverstripe-keyvaluefield
一个Silverstripe FormField,用于扩展TextField,增加多个部分(键)
1.1.0
2024-07-22 04:16 UTC
Requires
Requires (Dev)
- phpunit/phpunit: ^5.7
README
这是一种可复用的方法,用于扩展简单的文本字段,使其具有多个命名的部分(键)。此模块还支持用户自定义表单。
安装
composer require fullscreeninteractive/silverstripe-keyvaluefield
使用
use FullscreenInteractive\KeyValueField\KeyValueField; $fields = new FieldList( KeyValueField::create('Quantity', 'Enter quantity of each size') ->setKeys([ 'Small', 'Medium', 'Large' ]) );
当使用ORM管理的表单和模型(例如 saveInto
)时,数据将作为每个键的值的序列化数组保存。如果需要,您可以在您的 Form
类中更改此行为。
public function doSave($data, $form) { $quantity = $form->dataFieldByName('Quantity'); // returns an array of key => value $values = json_decode($quantity->dataValue(), true); echo $values['Small'] }
许可证
BSD 3-Clause License