【问题标题】:SilverStripe MultiSelectField selected arraySilverStripe MultiSelectField 选定数组
【发布时间】:2016-02-03 08:39:06
【问题描述】:

我一直在前端表单上使用出色的 MultiSelectField 插件http://addons.silverstripe.org/add-ons/fullscreeninteractive/silverstripe-multiselectfield

此表单用于编辑已通过其他表单添加的条目。我遇到的问题是,在检索数组 ($FeedbackCategorySelected) 以使用先前的选择填充字段时,它似乎没有接受参数。例如,如果数组是 (1,3),它将只显示 1 而不是 3 的记录。

由于该字段正在扩展 CheckboxFieldSet,我会假设它会以完全相同的方式工作。

谁能解释这里可能出了什么问题?代码如下。

非常感谢

...
$urlID = $this->request->param('ID');
if(is_numeric($urlID)){
    $CallEvent = DataObject::get_by_id("CallEvent", Convert::raw2sql($this->request->param('ID')));
    $Feedback = DataObject::get_by_id("Feedback", $CallEvent->FeedbackID);
    $FeedbackCategorySelected = $Feedback->FeedbackCategories;
    $FeedbackCategory = FeedbackCategoryData::get()->map('ID', 'Title')->toArray();
}
...
$fields = new FieldList(
new MultiSelectField(
    'FeedbackCategories',
    'Select feedback categories to add or remove',
    $FeedbackCategory,
    $FeedbackCategorySelected
)
...

【问题讨论】:

    标签: php content-management-system multi-select silverstripe


    【解决方案1】:

    我相信MultiSelectField 构造函数的第四个参数$value 应该是一个数组:

    $FeedbackCategorySelected = $Feedback->FeedbackCategories()->map('ID', 'Title')->toArray();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-08
      • 2015-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多