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!