【发布时间】:2013-12-30 14:03:49
【问题描述】:
我正在尝试在我的 Silverstripe 网站上的一个成员表单中添加一个是或否复选框。我已将这些框添加到站点以及 CMS 中的成员部分。想法是它们应该被链接,例如,当您在网站上勾选“是”时,会员部分也应该被勾选“是”。我一直在尝试,但无法链接复选框。
自从我接触 Silverstripe 以来已经有一段时间了,所以任何方向都将不胜感激。另外,我如何使复选框成为您只能勾选是或否,目前您可以同时勾选。
到目前为止,这是我的代码,我将继续努力,但如果有人能指出我正确的方向,那就太好了。非常感谢。
$fields = new FieldSet( ...
new CheckboxSetField('Questions','Do you want to show this?', array('true' => 'yes', 'false' => 'no'))
...);
function doSignup($data, $form) {
$member = Member::currentUser();
...
$member->Questions = $data['Questions'];
...
}
function extraStatics() {
return array(
'db' => array(
...
'Questions' =>"Enum('Yes,No')",
...
),
);}
public function updateCMSFields(FieldSet &$fields) {
...
$fields->addFieldToTab('Root.Membership', new CheckboxSetField('Questions','Do you want to show this?', array('true' => 'yes', 'false' => 'no')));
}
【问题讨论】:
-
您使用的是什么版本的 Silverstripe?
-
而不是使用 Yes 和 No 作为选项的 Enum,我建议您使用可以设置为 true 或 false 的布尔值。然后使用 CheckboxField 代替 CheckboxSetField。
-
您好 3dgoo,感谢您的回复,对不起,我已经离开了。我正在使用 SS 2.4.5。如果您使用 CheckboxField,是否可以有两个复选框来表示是和否?如果是这样,我该如何定位它,一些代码示例会很棒。我尝试了布尔值,但当我没有勾选问题复选框时,它一直给我一个通知“未定义索引:问题”。任何帮助表示赞赏,因为我有点卡住了。谢谢。
标签: php content-management-system silverstripe