我正在尝试通过在GridFieldList之后创建一个扩展来将UploadField添加到ModelAdmin。但是我总是收到一个错误"在第 161 行的 ..../framework/forms/FormField 中的非对象上调用成员函数 FormAction(.php"。我可以毫无问题地添加TextField,DropdownField,但UploadField没有运气。我错过了什么吗?
<code>
class MyExtension extends Extension{
public static $has_one = array(
'ImportCSV' => 'File'
);
public function updateEditForm($form){
$fields = $form->Fields();
$fields->push(
new TextField('Title', 'Title')
);//This one works
$fields->push(
new UploadField('ImportCSV', 'Import CSV')
);//This one not working
}
}
</code>
如果你正在编写一个Extension
(特别是一个DataExtension
(,那么你将使用updateCMSFields($fields)
,它通过引用传递FieldList
的实例。
但是要按照我认为您想要的方式添加UploadField
,请将其添加到在调用updateCMSFields()
中扩展(装饰(File
的DataExtension
,或者在上面的示例中将extends Extension
更改为extends DataExtension
,然后运行dev/build flush=all