[英]Symfony - Set Sonata Admin filter operator to "is equal to" as default option
在奏鸣曲管理中,我的管理类中有一个工作过滤器:
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('client.name');
}
过滤器将默认匹配“包含”(LIKE 运算符),如下所示:
我希望过滤器使用“等于”(= 运算符)作为默认选项,而不是“包含”:
不幸的是,我在 SO、google 中找不到与此相关的问题或答案,而且Sonata docs 9.4 过滤器目前没有记录。
我怎样才能做到这一点?
我用 JQuery 做到了:
////This function is used for settings all the filter
////in the default views
$("select").find("option").each(function() {
var ArrayClasses = $(this).parent().attr('class').split(' ');
var IsFilter = false;
$.each(ArrayClasses, function(i, value){
if (value === 'sonata-filter-option')
IsFilter = true;
});
if ($(this).val() === '3' && IsFilter) {
var HtmlStr = "<span class='select2-chosen'>is iqual to</span>" +
"<abbr class='select2-search-choice-close'></abbr>" +
"<span class='select2-arrow'><b></b></span></a>";
$(this).attr("selected", "selected");
var WrapId = $(this).parent().prev().attr('id');
$("#" + WrapId + " a.select2-choice").html(HtmlStr);
}
});
您可以通过覆盖变量$datagridValues
来覆盖默认过滤器选项
protected $datagridValues = array(
'email' => array(
'type' => 3,
'value' => ''
)
);
'type' => 3
表示它equal to
隔了好久才发。 您可以通过覆盖变量$datagridValues
来覆盖默认过滤器选项
protected $datagridValues = array(
'email' => array(
'type' => 3,
'value' => ''
)
);
'type' => 3
表示它equal to
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.