Odoo中的客户端操作

时间:2017-08-08 10:17:01

标签: web openerp odoo-10 odoo-view

在Odoo / openerp文档中,它说“客户端操作”完全是客户端实现的。他们没有为Odoo v10提供任何关于它的详细文档。

是否有人准确了解如何实施客户行动及其全部潜力。 (我们可以通过客户端操作实现的可能性。)

2 个答案:

答案 0 :(得分:2)

客户端操作基本上是在xml中定义的菜单项,相应的操作将映射到窗口小部件。

以下是客户行动的实施:

您的XML文件将包含以下代码:

<record id="some-report-client-action" model="ir.actions.client">
  <field name="name">Report Page</field>
  <field name="tag">report.report_page</field>
</record>

<menuitem id="some-report-menuitem" name="Some" parent="pdf_report"
              action="some-report-client-action"/>

创建用于创建窗口小部件的js文件。它将包含以下代码:

openerp.guard_payments = function(instance, local) {
var _t = instance.web._t,
    _lt = instance.web._lt;
var QWeb = instance.web.qweb;

local.HomePage = instance.Widget.extend({
    template: 'MyQWebTemplate',
    init: function(parent, options){
      this._super.apply(this, arguments);
      this.name=parent.name;
    },
    start: function() {
      this._super.apply(this, arguments);
      console.log('Widget Start')
    },
});

//Following code will attach the above widget to the defined client action

instance.web.client_actions.add('report.report_page', 'instance.guard_payments.HomePage');
}

因此,您可以看到我们可以创建一个完全自定义的QWeb模板并为其添加任何功能。

基本上这是Odoo提供的最好的部分

答案 1 :(得分:0)

您也可以在以下位置找到相关文档: Odoo client actions