对于Silverstripe 4中的项目,我正在扩展自定义modelAdmin的searchContext。我想根据has_one关系过滤内容。
下面是一个有效的示例:
class ProductAdmin extends ModelAdmin {
...
public function getSearchContext(){
$context = parent::getSearchContext();
$context->getFields()->push(CheckboxSetField::create('q[BrandID]', 'Brand', Brand::get()->sort('Title')->map()));
return $context;
}
...
}
这支持选择多个值,并导致如下URL参数:
?q [BrandID] [39] = 39&q [BrandID] [19] = 19&q [BrandID] [1] = 1(URL解码)
但是,当我尝试使用ListboxField进行相同操作时,将得到如下所示的url参数:
?q [BrandID] [] = 11
因此,仅提交一个BrandID。 有什么办法让Listboxfield提交所有选定的对象?还是这是一个错误?
-G4A