2
내가 작업하고있는 프로젝트의 위젯을 몇 개 만들고 있는데 위젯이 위젯 외부의 다른 클래스에 액세스 할 수없는 것 같습니다. 이미지 및 SiteTree 클래스에 대한 has_one 정적 추가 (이미지 예제에서는 아래 예제 참조) 시도하고 cms 필드를 추가 할 때 같은 오류가 발생합니다. 치명적인 오류 : FormAction() 멤버 함수 호출 라인 139Silverstripe 3 : 위젯 오류의 has_one 이미지
<?php
class AdBoxWidget extends Widget{
static $title = "";
static $cmsTitle = "Ad Box Widget";
static $description = "Ad Box widget. To add an image, Title and Link";
static $db = array(
"Title" => "Text",
"Link" => "Text",
"AdLinkText" => "Text"
);
static $defaults = array(
"Title" => 'Ad Title',
"Link" => 'http://',
"AdLinkText" => 'Click here for more info',
);
static $has_one = array(
'AdImage' => 'Image'
);
function getCMSFields(){
return new FieldList(
new TextField("Title", "Ad Title"),
new TextField("Link", "Ad Link"),
new TextField("AdLinkText", "Text for Link"),
new UploadField("AdImage", "Ad image")
);
}
function getAd(){
$output = new ArrayList();
$output->push(
new ArrayData(
array(
"Title" => $this->Title,
"Link" => $this->Link,
"AdLinkText" => $this->AdLinkText
)
)
);
return $output;
}
}