fullscreeninteractive/silverstripe-keyvaluefield

一个Silverstripe FormField,用于扩展TextField,增加多个部分(键)

安装: 46

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:silverstripe-vendormodule

1.1.0 2024-07-22 04:16 UTC

This package is auto-updated.

Last update: 2024-09-22 04:37:57 UTC


README

Version License

这是一种可复用的方法,用于扩展简单的文本字段,使其具有多个命名的部分(键)。此模块还支持用户自定义表单。

安装

composer require fullscreeninteractive/silverstripe-keyvaluefield

使用

Image of Function

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