SilverStripe 自定义表单检索表单字段的值

SilverStripe custom form retrieve values for form fields

我的前端管理更新页面有问题。如何从 SiteTree 页面检索值并将其填充到自定义表单中? setValue($values) 函数是唯一的方法吗?如果是,获取页面变量的最佳方法是什么?

我正在使用这个:

$evens = Versioned::get_by_stage('PageCalendrierEvenement', 'Stage')->byID($evenID);

我正在从草稿页的 ID 获取值。在我得到这样的变量和值之后:

$field = new TextField('Titre', 'Titre'); 
$field->setValue($evens->Titre);

new TextField('Titre','Titre', $evens->Titre);

哪个是更好的解决方案?

解决方案分为两部分:

  1. 使用 TextField::create($constructor, $args) 而不是 new(可选,但不这样做是我的最爱)。
  2. 一次设置所有字段:http://api.silverstripe.org/3.1/class-Form.html#_loadDataFrom