2013-02-04 58 views
2

我有一個用於更新數據庫行的自定義窗體。我使用$form->loadDataFrom($data)預填充字段值,其中$ data是字段值的關聯數組。Silverstripe DropdownField無法使用loadDataFrom()加載

這對除DropdownField以外的所有人都適用;沒有設置爲「選中」。

相關代碼:

在表單子類:

$fields = FieldList::create( 
... 
DropdownField::create('subscribed')->setSource(array('1' => 'Yes', '0' => 'No'))->setAttribute('class', 'default') 
); 

在控制器:

$form->loadDataFrom($data); 

我已經驗證$的數據是正確的格式關聯數組(畢竟,每個其他領域得到適當的價值)。

下拉字段不會設置選定的值。

+0

可能會看到$數據輸出/轉儲有用。另外,我個人也有一些字段名稱不是以大寫(即已訂閱)開頭的問題,但這可能沒有關係。 – colymba

回答

2

您需要使用真假源數組鍵:

DropdownField::create('subscribed')->setSource(array(
    true => 'Yes', 
    false => 'No' 
))