簡體   English   中英

使用odoo10中的小部件加載主頁后,如何打印消息?

[英]How can i print a message when a home page is loaded using widget in odoo10?

我是一個初學者,我在odoo10.0上編寫Java腳本代碼。 我引用了寫以前版本的代碼。 因此,我想在加載主頁時打印“ Nidhin,您的寵物商店主頁已加載”。

 In mypetstore/static/src/js/my_pet_store.js:

mypetstore是我的模塊名稱。

odoo.define('mypetstore.my_pet_store', function (require) {
"use strict";
var Class = require('web.Class');
var Widget = require('web.Widget');
var core = require('web.core');
var utils = require('web.utils');

var _t = core._t;
var _lt = core._lt;
var QWeb = core.qweb;
console.log("Nidhin");
HomePage = Widget.extend({
    start: function() {
        console.log("Nidhin, your pet store home page loaded");
    },
});
core.view_registry.add('my_pet_store', HomePage);
});

在mypetstore / views / my_pet_store.xml中

<template id="assets_backend" name="petstore" 
inherit_id="web.assets_backend">
    <xpath expr="." position="inside">
        <script type="text/javascript" 
  src="/mypetstore/static/src/js/my_pet_store.js"></script>
    </xpath>
</template> 

 <record id="action_home_page_my_petstore" model="ir.actions.client">
    <field name="name">Pet Store Home</field>
    <field name="tag">my_pet_store</field>
</record> 

在菜單中:

<menuitem id="home_page_my_petstore_menu" 
        name="Home Page"
        parent="my_petstore_menu"
        action="action_home_page_my_petstore"/>

在custom_addons / mypetstore / manifest.py中:

'depends':['web',],'data':['views / my_pet_store.xml','views / menu.xml',],'demo':[],

預期行為:

我在openerp(以前的版本)中看到了相同的代碼:

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

  local.HomePage = instance.Widget.extend({
     start: function() {
     console.log("pet store home page loaded");
    },
 });

 instance.web.client_actions.add('petstore.homepage', 
 'instance.oepetstore.HomePage');
 }

因此,我想在加載主頁時打印“ Nidhin,您的寵物商店主頁已加載”。

我這樣做時得到了輸出:.js文件中:

    odoo.define('zbtoken.hellojs', function (require) {
      "use strict";

    var Widget = require('web.Widget');
    var core = require('web.core');
    var utils = require('web.utils');
    var HomePage = Widget.extend({
        template: "HelloJS",
    start: function() {
        console.log("Hello JS");
        },
    });

    core.action_registry.add('HelloJS', HomePage);
    }); 

   In .xml file :

    <?xml version="1.0"  encoding="UTF-8"?>
    <templates xml:space="preserve">
    <t t-name="HelloJS">
      <div> </div>
     </t>  
    </templates>

   In .xml view file:
   You have to specify your js file in view's xml file like:

     <data>   
    <template id="assets_backend" name="petstore" 
              inherit_id="web.assets_backend">
        <xpath expr="." position="inside">
         <script type="text/javascript" src="your js file path">
         </script>
        </xpath>
   </template>
   <record id="map_id" model="ir.actions.client">
        <field name="name">HelloJS</field>
        <field name="tag">HelloJS</field>
    </record>
    </data>  

     in _maniifest_.py
      'data': [ 
               'views/your_xml_file', 
       ],
      'demo': [
       ],
      'qweb': ['static/src/xml/your_xml_file'],

在菜單中調用id“ map_id”,然后您將在控制台中獲得打印“ Hello JS”。 這么晚才回復很抱歉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM