• odoo14里面开发一个简单的action.client 的tag 模板例子


    1、js模板  web_template.js

    odoo.define('web', function (require) {
        "use strict";
    
        var core = require('web.core');
        var Widget = require('web.Widget');
        var AbstractAction = require('web.AbstractAction');
    
        var QWeb = core.qweb;
        var _t = core._t;
    
        var Dashboard = AbstractAction.extend({
            //需要加载的template模板
            template: 'web_template',
    
            init: function(parent, data){
                return this._super.apply(this, arguments);
            },
    
            start: function(){
                return true;
            },
    
    
        });
        
        // 对应client_action中的tag
        core.action_registry.add('web.main', Dashboard);
     
    
    });

    2、定义static目录里xml  web_template.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <templates xml:space="preserve">
        <t t-name="web">
            <iframe marginheight="0" marginwidth="0" width="100%" height="910" src="url" frameborder="0" allowfullscreen="True"></iframe>
        </t>
    </templates>

    3、导入你的js

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
        <template id="assets_web_report_backend" name="Web Settings Dashboard Assets" inherit_id="web.assets_backend" priority="18">
            <xpath expr="." position="inside">
                <script type="text/javascript" src="/test_template/static/src/js/web_template.js"></script>
            </xpath>
        </template>
    </odoo>

    4、定义动作和菜单

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
        <record id="vehicl_action_client" model="ir.actions.client">
            <field name="name">自定义页面</field>
            <field name="tag">web.main</field>
        </record>
    
        <menuitem id="menuitem_action_client" name="自定义页面" sequence="1"              action="vehicle_action_client"/>
    
    </odoo>

    5、在

    最后能看到:

    报错原因:Refused to display 'https://www.baidu.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

    odoo界面嵌入iframe,Refused to display in a frame because it set 'X-Frame-Options' to 'DENY'

    跨域请求失败处理!

    解决办法:https://www.cnblogs.com/hellojesson/p/11101795.html

    后面我换了一个url后可以了:

    心有猛虎,细嗅蔷薇
  • 相关阅读:
    EC++学习笔记(五) 实现
    EC++学习笔记(三) 资源管理
    EC++学习笔记(一) 习惯c++
    EC++学习笔记(六) 继承和面向对象设计
    STL学习笔记(三) 关联容器
    STL学习笔记(一) 容器
    背包问题详解
    EC++学习笔记(二) 构造/析构/赋值
    STL学习笔记(四) 迭代器
    常用安全测试用例
  • 原文地址:https://www.cnblogs.com/1314520xh/p/15245315.html
Copyright © 2020-2023  润新知