如何在odoo10中创建一个简单的小部件?相应的代码 在odoo10中关注?我可以将此代码转换为odoo10吗?
Segmentation Fault: 11
答案 0 :(得分:3)
在Odoo-10中创建小部件和模板
<强>窗口小部件:强>
示例:强>
<强> widget_name.js 强>
odoo.define(module.model_name', function(require) {
"use strict";
var Widget = require('web.Widget');
var core = require('web.core');
var Model = require('web.Model');
var QWeb = core.qweb;
var _t = core._t;
// here we are getting the value in an array.
var widget_name = Widget.extend({
//render your template
"template" : "template_name",
//initialize
init : function () {
var self = this;
this._super(parent);
//initialize values to variables
}
//Binding Events
events : {
'click .class_ex' : 'method1',
'click .class_ex1' : 'method2',
},
start : function() {
var self = this;
this._super(parent);
//your functionality code and logic
},
//creating functions
method1:function(){
//do something when click event fire on class_ex
},
method2:function(){
//do something when click event fire on class_ex
},
});
return widget_name;
});
您需要添加此.js&amp; odoo中的.css文件就像这样。
<强> assets_backend.xml 强>
<odoo>
<data>
<template id="assets_backend" inherit_id="web.assets_backend">
<xpath expr="script[last()]" position="after">
<script type="text/javascript" src="/module/static/src/js/widget_name.js">
</script>
<link href="/module/static/src/css/home.css" rel="stylesheet"></link>
</xpath>
</template>
</data>
</odoo>
设计小工具模板:
<强> tmpl.xml 强>
<?xml version="1.0"?>
<templates id="template" xml:space="preserve">
<t t-name="template_name">
<div class=”myclass”>
//design your template here
<div class=”class_ex”>
//body
</div>
<div class=”class_ex1”>
//body
</div>
</div>
</t>
</templates>
注意:无需在tmpl.xml文件中编写odoo标记。
如何使用小部件
按操作或对象按钮使用小部件。
如下所示,我们将template_name添加到action_registry,现在我们可以使用此名称来执行XML。
示例:强>
<record id="template_id" model="ir.actions.client">
<field name="name">template name</field>
<field name="tag">template_name</field>
<field name="target">new</field>
</record>
您也可以像这样使用您的小部件。
<field name="mobile" widget="template_name" />