Varchar 的 FormField 到 <select> + 其他作为自由文本
FormField for Varchar to a <select> + other as free text
对于标准 Varchar
(或 Text
)数据库字段,我想用一组固定选项替换它 - 但仍然允许选择 "other" 并用于用户输入他们选择的字符串。
class MyDataObject extends DataObject {
static $db = array(
'MyVarchar' => "Varchar",
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->replaceField(
'MyVarchar',
SomeField(
'MyVarchar',
'Choose an option or enter text',
array(1 => 'Option1',2 => 'Option2')
)
);
return $fields;
}
}
因此,我正在寻找可用作 SomeField
的内容,用户将看到一个包含值 Option1、Option2 和 Other 的下拉列表。如果选择了 Option1 或 2,则将其保存到 MyVarchar 中。如果选择 Other,那么它将允许像往常一样直接指定 MyVarchar 的文本。
我希望有一个预先存在的模块,就像我收到的其他答案一样。
还有...
我基本上找到了我想要的东西......
https://github.com/Leapfrognz/alternative-field
谢谢 Leapfrognz!
对于标准 Varchar
(或 Text
)数据库字段,我想用一组固定选项替换它 - 但仍然允许选择 "other" 并用于用户输入他们选择的字符串。
class MyDataObject extends DataObject {
static $db = array(
'MyVarchar' => "Varchar",
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->replaceField(
'MyVarchar',
SomeField(
'MyVarchar',
'Choose an option or enter text',
array(1 => 'Option1',2 => 'Option2')
)
);
return $fields;
}
}
因此,我正在寻找可用作 SomeField
的内容,用户将看到一个包含值 Option1、Option2 和 Other 的下拉列表。如果选择了 Option1 或 2,则将其保存到 MyVarchar 中。如果选择 Other,那么它将允许像往常一样直接指定 MyVarchar 的文本。
我希望有一个预先存在的模块,就像我收到的其他答案一样。
还有... 我基本上找到了我想要的东西......
https://github.com/Leapfrognz/alternative-field
谢谢 Leapfrognz!