[英]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.