Odoo - 扩展搜索视图



是否可以扩展搜索视图并添加多个搜索框或复选框以方便用户?

现在只有一个搜索框,有时用户不想单击搜索框,然后键入然后从过滤器插件的过滤器中过滤或选择自定义过滤器。如果我能添加复选框,那会很快。

下面是扩展odoo搜索视图的示例:

odoo.define('modulename.makesearch', function (require) {
"use strict";
var searchView = require('web.SearchView');
var search_filters = require('web.search_filters');
var search_inputs = require('web.search_inputs');
var Widget = require('web.Widget');
var FavoriteMenu = require('web.FavoriteMenu');
var FilterMenu = require('web.FilterMenu');
var GroupByMenu = require('web.GroupByMenu');
var Model = require('web.DataModel');
var SearchFilterButton = searchView.include({
init: function(parent, dataset, view_id, defaults, options) {
this._super.apply(this, arguments);
this.parent = parent;
},
view_loaded: function (r) {},
});
});
//Here in view loaded function I wrote the definitions I need.
//Here you write your own.

如果您需要对树和看板视图进行更改,您还必须像上面一样扩展它们。如果需要添加新的搜索框,您可以从 Web 扩展树模板并进行适当的更改。

只需像扩展其他视图一样扩展搜索视图,并添加预定义的过滤器,如下所示:(例如,请参阅"view_res_partner_filter"(

...
<field name="arch" type="xml">
...
<filter string="My First Value" domain="[('my_field','=', 'my_first_value')]"/>
<filter string="My Second Value" domain="[('my_field','=', 'my_second_value')]"/>
...
</field>

这些预定义的过滤器将显示在"搜索框"下方的"过滤器"下,然后可以通过单击进行切换(非常类似于您喜欢的复选框行为(

如果您坚持使用复选框,则必须做很多工作,例如更改相应的Qweb模板以及修改相应的JS文件(请参阅"缅甸pythis"的答案( 因此,如果时间或成本对您很重要,我更喜欢此解决方案。

最新更新