Php 银条形渲染器,不带';不显示形式或任何样式
我正在尝试使用以下模板呈现表单:Php 银条形渲染器,不带';不显示形式或任何样式,php,silverstripe,Php,Silverstripe,我正在尝试使用以下模板呈现表单: function FacebookForm($fbFields) { $actions = new FieldSet( new FormAction('doFaceBookForm', 'Register') ); $memberfields = singleton('XEUser')->getMemberFormFields(); $fields = new F
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(数组('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>
感谢您注册您的Facebook帐户
无法从您的Facebook帐户获取以下详细信息,请立即输入
$form
有人能解释一下吗?尝试在模板中使用该方法的名称:
<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>
$FacebookForm
或者,您可以对表单类进行子类化,并使用自定义的forTemplate()
方法。更多信息如下
见:
结果页上实际有什么内容?只需来自FacebookController.ss
的模板?