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

时间:2015-08-17 12:08:31

标签: forms frontend silverstripe

我的前端管理员更新页面有问题。如何从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 个答案:

答案 0 :(得分:1)

解决方案是2部分:

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