2012-07-25 73 views
0

我試圖渲染與下面的模板形式:Silverstripe形式Renderwith不顯示形式或任何造型

function FacebookForm($fbFields) { 

     $actions = new FieldSet(
      new FormAction('doFaceBookForm', 'Register') 
     ); 

     $memberfields = singleton('XEUser')->getMemberFormFields(); 

     $fields = new FieldSet(); 
     $reqFields = array(); 
     foreach($fbFields as $key => $value){ 
      switch($value){ 
       case 'Gender': 
        $fields->push($memberfields->fieldByName('Gender')); 
        $reqFields[] = 'Gender'; 
        break; 
       case 'DateOfBirth': 
        $fields->push($memberfields->fieldByName('DateOfBirth')); 
        $reqFields[] = 'DateOfBirth'; 
        break; 
      } 
     } 
     $validator = new RequiredFields($reqFields); 

     $form = new Form($this, 'FaceBookForm', $fields, $actions,$validator); 
     $form->disableSecurityToken(); 

     return $form->renderWith(array('FacebookController','Page')); 
     //return $form; 

    } 

當我剛return $form出現在我的形式,但在默認contentController.ss所以我創建了一個新模板並添加了return $form->renderWith(array('FacebookController','Page'));。當我這樣做時,我會得到應該在頁面中的所有內容,但根本沒有應用任何樣式,甚至不會顯示錶單。這是我的FacebookController模板:

<div id="left"> 

    <h2>Thankyou for signing up with your Facebook account</h2> 
    <p>The following details could not be obtained from your Facebook account, please enter them now.</p> 
    $form 
</div> 

<div id="right"> 

</div> 

任何人都可以對此有所瞭解嗎?

+0

什麼結果頁面上實際上是?只是來自''FacebookController.ss''的模板? – xeraa 2012-07-25 15:34:16

回答