zoukankan      html  css  js  c++  java
  • 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后可以了:

    心有猛虎,细嗅蔷薇
  • 相关阅读:
    每日日报2020.12.1
    每日日报2020.11.30
    981. Time Based Key-Value Store
    1146. Snapshot Array
    565. Array Nesting
    79. Word Search
    43. Multiply Strings
    Largest value of the expression
    1014. Best Sightseeing Pair
    562. Longest Line of Consecutive One in Matrix
  • 原文地址:https://www.cnblogs.com/1314520xh/p/15245315.html
Copyright © 2011-2022 走看看