SilverStripe 3 布尔只读字段
SilverStripe 3 Boolean read only field
我们如何在 getCMSFields()
中将 Boolean
变量显示为只读字段,显示布尔 ->Nice()
函数的值(是/否)?
这是我尝试过的:
class EventMember extends Member {
static $db = array (
'NewsLetter' => 'Boolean'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
//WHAT I TRIED
//$fields->fieldByName('NewsLetter')->performReadonlyTransformation();
/*$newsletter = new ReadonlyField('NewsLetter', 'NewsLetter');
$value = $newsletter->getValue();
$newsletter->setValue($value)->Nice();
$fields->replaceField('NewsLetter', $newsletter);*/
//$fields->addFieldToTab('Root.Main', $nL = CheckboxField::create('NewsLetter', 'Newsletter'));
//$value = $this->NewsLetter->Value()->Nice();
//$nL->setValue($value)->Nice();
$this->extend('updateCMSFields', $fields);
return $fields;
}
}
$fields->removeByName('NewsLetter');
$nL = DBField::create_field('ReadonlyField', $this->obj('NewsLetter')->Nice(), 'Newsletter');
$fields->addFieldToTab('Root.Main', $nL);
我们如何在 getCMSFields()
中将 Boolean
变量显示为只读字段,显示布尔 ->Nice()
函数的值(是/否)?
这是我尝试过的:
class EventMember extends Member {
static $db = array (
'NewsLetter' => 'Boolean'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
//WHAT I TRIED
//$fields->fieldByName('NewsLetter')->performReadonlyTransformation();
/*$newsletter = new ReadonlyField('NewsLetter', 'NewsLetter');
$value = $newsletter->getValue();
$newsletter->setValue($value)->Nice();
$fields->replaceField('NewsLetter', $newsletter);*/
//$fields->addFieldToTab('Root.Main', $nL = CheckboxField::create('NewsLetter', 'Newsletter'));
//$value = $this->NewsLetter->Value()->Nice();
//$nL->setValue($value)->Nice();
$this->extend('updateCMSFields', $fields);
return $fields;
}
}
$fields->removeByName('NewsLetter');
$nL = DBField::create_field('ReadonlyField', $this->obj('NewsLetter')->Nice(), 'Newsletter');
$fields->addFieldToTab('Root.Main', $nL);