2012-09-17 2 views
1

에 SiteConfig 값을 얻을 :Silverstripe - 나는 내 위젯 클래스의 siteconfig 값에 액세스하기 위해 노력하고있어 위젯

<?php 
class FacebookFeedWidget extends Widget{ 
    static $title = ""; 
    static $cmsTitle = "Facebook Feed Widget"; 
    static $description = "This widget shows the Facebook feed"; 
    static $doSiteConfig = DataObject::get_one('SiteConfig'); 

    static $db = array(
     "FacebookURL" => "Text" 
    ); 

    static $defaults = array(
     "FacebookURL" => $doSiteConfig->FacebookURL 
    ); 

    function getCMSFields(){ 
     return new FieldList(
      new TextField("FacebookURL", "Facebook URL") 
     ); 
    } 

    function getFacebookURL(){ 
     $output = new ArrayList(); 
     $output->push(
      new ArrayData(
       array(
        "FacebookURL" => $this->FacebookURL 
       ) 
      ) 
     ); 
     return $output; 
    } 
} 

그러나 오류가 점점 오전 : 구문 분석 오류 : 구문 오류, 예기치 않은 '('를, ','기대 또는 ';'/....../widgets_facebookFeed/FacebookFeedWidget.php에 줄에 8

내가 잘못 여기서 뭐하는 거지

답변

4

당신이 이런 식으로 뭔가를 할 수 없습니다

?
static $defaults = array(
    "FacebookURL" => $doSiteConfig->FacebookURL 
); 

하지만 다행히도이 $ 기본값을 받아 객체로 설정 기능 polulateDefaults, 그래서 우리가에 연결할 수 있습니다 :

public function populateDefaults() { 
    parent::populateDefaults(); 
    $this->FacebookURL = SiteConfig::current_site_config()->FacebookURL; 
}