TableFieldを使用して、ページへの関連リンクのリストを管理しようとしています。IDをdb(非表示フィールド)に保存せず、タイトルとURLだけを保存することを除いて、コントロールは機能しています。
これはそれを使用する正しい方法ですか?そう思う。私はこれを使用しています:ガイドとしてhttp://doc.silverstripe.org/sapphire/en/reference/tablefield
いくつかのコード:
static $has_many = array (
'Linketys' => 'Linkety',
);
$myTableField = new TableField(
'MyTableField', // fieldName
'Linkety', // sourceType
array(
'Title'=>'Title',
'URL'=>'URL'
), // fieldList
array(
'Title'=>'TextField',
'URL'=>'TextField'
), // fieldTypes
null, // filterField (legacy)
"Linkety.PageID",
$this->ID
);
// add some HiddenFields thats saved with each new row
$myTableField->setExtraData(array(
'PageID' => $this->ID ? $this->ID : '$RecordID'
));
$fields->addFieldToTab("Root.Content.Options", $myTableField);