创建客户动作

客户端操作触发了完全在客户端实现的操作。使用客户端操作的一个好处是能够轻松创建高度定制的界面。客户端操作通常由OWL组件定义;我们还可以使用Web框架和使用服务、核心组件、钩子…

  1. 创建 客户端操作,不要忘记使其可访问。

    <record model="ir.actions.client" id="my_client_action">
        <field name="name">My Client Action</field>
        <field name="tag">my_module.MyClientAction</field>
    </record>
    
  2. 创建一个表示客户端操作的组件。

    my_client_action.js
    /** @odoo-module **/
    
    import { registry } from "@web/core/registry";
    
    import { Component } from  "@odoo/owl";
    
    class MyClientAction extends Component {}
    MyClientAction.template = "my_module.clientaction";
    
    // remember the tag name we put in the first step
    registry.category("actions").add("my_module.MyClientAction", MyClientAction);
    
    my_client_action.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <templates xml:space="preserve">
        <t t-name="awesome_tshirt.clientaction" owl="1">
            Hello world
        </t>
    </templates>