1
Boolean
변수를 부울의 ->Nice()
함수 값 (예/아니요)을 나타내는 읽기 전용 필드로 getCMSFields()
에 어떻게 표시합니까? 여기 SilverStripe 3 부울 읽기 전용 필드
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;
}
}
는 읽기 전용를 Fieldlist 내 모든 필드를 만들려면 : $ 필드 = $ 필드 -> makeReadonly(); –
ReadOnlyField에 여전히 값이 있습니까? 나는 두 개의 필드로 시도 할 것이다. HiddenField는 DB에 다시 저장하기위한 값 (0 또는 1)을 포함하고, LiteralField 또는 ReadOnlyField는 폼에 좋은 예/아니요 값을 표시하기위한 것이다. 또는 yes/no를 포함하는 읽기 전용 드롭 다운이 작동합니다. 이렇게하면 부울 값을 저장하고 멋진 버전을 표시 할 수 있습니다. – wmk
이 경우 EventMembers는 백엔드에 액세스 할 수 없습니다. EventMembers는 자신의 프로파일을 편집하기 위해 Frontend에 별도의 Form을 가지고 있습니다. 백엔드에서만 관리자가 EventMembers를 편집 할 수 있습니다. if (! Permission :: check ('ADMIN')) ... content-authors는 EventMember를 편집 할 수 없습니다 –