我是Stack的新手,我在odoo中遇到了问题,我需要在odoo表单视图中为我的模型集成d3图表。提前谢谢。
答案 0 :(得分:1)
试试这个, 我们需要在view.xml文件中的表单视图字段中配置窗口小部件。
view.xml
<form string="Graph">
<field name="name" widget="test"/>
</form>
需要创建一个js文件然后我们需要像这样扩展class-openerp.web.form.FieldChar.extend,
<强> D3_chart.js 强>
openerp.transform_organization_chart = function(openerp) {
openerp.web.form.widgets.add('test','openerp.web.form.test');
openerp.web.form.test = openerp.web.form.FieldChar.extend(
{
template: 'test-button',
init: function () {
this._super.apply(this, arguments);
this._start = null;
},
start: function() {
console.log('START');
this.Myfunction();
},
Myfunction: function()
{
}
});
}
为我们的图表创建template.xml文件,这里我们需要编写html模板。模板ID和扩展字段名称应该相同。
<强> TEMPLATE.XML 强>
<template id="test-button">
<script type="text/javascript" src="/transform_organization_chart/static/src/js/d3.js"></script>
<div t-name="test-button">
<div id="orgChartContainer">
<div id="orgChart"></div>
</div>
<div id="consoleOutput"></div>
</div>
</template>