SilverStripe 4에서 사용자 지정 CMS 필드를 만들고 있는데 왼쪽 열에 레이블이 있고 오른쪽 열에 편집기가 있습니다.실버 스트라이프에 CMS 필드 레이블을 어떻게 쌓으시겠습니까?
어떻게 그림에서 볼 수있는 기본 콘텐츠 편집기 및 라벨 등의 라벨과 편집기를 스택합니까?
SilverStripe 4에서 사용자 지정 CMS 필드를 만들고 있는데 왼쪽 열에 레이블이 있고 오른쪽 열에 편집기가 있습니다.실버 스트라이프에 CMS 필드 레이블을 어떻게 쌓으시겠습니까?
어떻게 그림에서 볼 수있는 기본 콘텐츠 편집기 및 라벨 등의 라벨과 편집기를 스택합니까?
결국 나는 다른 것을 검색하는 동안 답변을 발견했습니다. 실버 스트라이프 (Silverstripe) 질문에 대한 답을 찾는 것이 어렵다는 것을 알고 누군가가 미래에 똑같은 것을 찾고있는 경우 내 자신의 질문에 대답 할 것입니다. 에서
다큐먼트의 우리가 여기 중지하고 경우에 우리는 구성 요소로 그것을 깰려고하고있다
return new FieldList([
new HTMLEditorField('OtherContent', 'Other content', $this->OtherContent, 'myConfig')
]);
우리에게 더 많은 제어
$fields = parent::getCMSFields();
//create a $fields variable that will hold the new fields
$jobDescriptionField = HTMLEditorField::create('JobDescription', 'JobDescription');
//create the actual field in it's own variable
$fields->addFieldToTab('Root.Main', $jobDescriptionField , 'Content');
//add the new field to our fields and tell it to appear above the default 'Content' editor
을 제공하기 위해 추가 WYSIWYG 편집기에 대해 이렇게 말한다 $ fields를 반환하면 Label이 왼쪽으로 플로팅되고 Content Editor는 오른쪽으로 플로트됩니다. 전체 화면에서도 찌그러 질 것입니다. 안좋다.
그래서 우리가라는 silverstripe에서 제공하는 클래스를 추가해야합니다 "스택"
$jobDescriptionField->addExtraClass('stacked');
그래서 전체 코드는 다음과 같습니다
public function getCMSFields(){
$fields = parent::getCMSFields();
$jobDescriptionField = HTMLEditorField::create('JobDescription', 'JobDescription');
$fields->addFieldToTab('Root.Main', $jobDescriptionField , 'Content');
$jobDescriptionField->addExtraClass('stacked');
return $fields;
}