symiote/silverstripe-multivaluefield
一个数据库字段 + 表单字段,用于在单个属性(序列化)中存储多个值。
Requires
- php: ^8.1
- silverstripe/framework: ^5
Requires (Dev)
Replaces
- silverstripe/multivaluefield: 6.1.0
- 7.x-dev
- 6.x-dev
- 6.1.x-dev
- 6.1.0
- 6.1.0-rc1
- 6.1.0-beta1
- 6.0.x-dev
- 6.0.2
- 6.0.1
- 6.0.0
- 6.0.0-rc1
- 6.0.0-beta1
- 5.x-dev
- 5.4.x-dev
- 5.4.2
- 5.4.1
- 5.4.0
- 5.4.0-rc1
- 5.4.0-beta1
- 5.3.x-dev
- 5.3.0
- 5.2.x-dev
- 5.2.1
- 5.2.0
- 5.1.x-dev
- 5.1.1
- 5.1.0
- 5.0.x-dev
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.1.x-dev
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.4.x-dev
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.x-dev
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.x-dev
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.x-dev
- 2.1.1
- 2.1.0
- 2.0.x-dev
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.1-rc1
- 2.0.0
- 1.0.x-dev
- dev-master
- dev-fix-mvfield-set-value
This package is auto-updated.
Last update: 2024-09-18 03:33:23 UTC
README
备注
- 该模块的 Silverstripe 2.4 兼容版本仍可在 ss24 分支中找到
- Silverstripe 3.x 兼容版本仍可在 2.x 分支中找到。(见版本信息)
一种数据库字段类型,允许在单个数据库字段中存储多个离散值。这还提供了一种简单的表单字段来输入多个值。
- MultiValueTextField - 显示一个文本字段。输入数据时,将在其下方直接显示另一个文本字段。后续数据输入将触发更多文本字段的显示。
- MultiValueDropdownField - 显示一个下拉字段。选择一个值时,将显示另一个下拉字段。
在模板中,可以根据数据对象集迭代字段。$Value 作为 Varchar 类型可用,其他典型属性(如 $FirstLast 等)继承自 ViewableData。
数据以序列化的 PHP 格式存储在数据库中。虽然这不适合搜索目的,但一些外部索引引擎(例如 Solr 模块)了解字段类型并会相应地进行索引。
版本信息
本版本 MultiValueField 支持 Silverstripe 4.0.0
以下次要版本分支支持 Silverstripe 的旧版本
安装
composer require symbiote/silverstripe-multivaluefield
基本用法
与所有数据库字段一样
private static $db = array(
'Keywords' => 'MultiValueField',
);
要在前端使用该字段,您可以遍历 Items 属性
<% loop $Keywords.Items %> <p>$Key $Value</p> <% end_loop %>
在这种情况下,$Value 是一个 Varchar 对象,因此您可以在它上调用所有相关的字符串字段方法,如 $Value.Raw、$Value.LimitWordCount 等。
请注意,要将 $Key 值作为非整数可用,请使用 KeyValueField 字段类型来填充字段。
您可以在字段中这样设置 KeyValueField 的键和值占位符值
$kvf = KeyValueField::create(
'MultiChoiceAnswer',
'Multiple Choice Answers'
);
$kvf->setValueFieldPlaceholder('Value');
$kvf->setKeyFieldPlaceholder('Label');
维护者联系方式
- Marcus Nyeholt [email protected]
要求
- Silverstripe 4.0
贡献
感谢
- Ingo 的初始工作 使此 SS4 准备就绪
- muskie9 的工作 更新 UI 字段
翻译
自然语言字符串的翻译通过第三方翻译接口 transifex.com 管理。新添加的字符串将定期上传到那里进行翻译,任何新的翻译都将合并回项目源代码。
请使用 https://www.transifex.com/projects/p/silverstripe-multivaluefield 贡献翻译,而不是发送包含 YAML 文件的拉取请求。
许可
本模块根据 BSD 许可证在 http://silverstripe.org/BSD-license 下授权