我正在使用 Odoo 10。
正如标题所说,我在使用 Widget 扩展时遇到问题。
我会查询模型记录集以显示模板中的每条记录,但我无法执行'function start'内的块。
我试图在'function()'块内放置一个'console.log'但它没有被触发。
有人知道为什么吗?
我的功能代码:
openerp.crm_broadband = function(instance, local) {
'use strict'
var _t = instance.web._t,
_lt = instance.web._lt;
var QWeb = instance.web.qweb;
local.SiteList = instance.web.Widget.extend({
template: 'SiteList',
start: function() {
var self = this
return new instance.web.Model('broadband.site')
.query(['name'])
.filter([['site_type', 'in', ['backbone_master', 'backbone_slave', 'backbone_hop']]])
.all()
.then(function(result) {
result.each(function(item) {
self.$el.append(QWeb.render('SiteElement', {item: item}))
})
})
}
})
instance.web.client_actions.add('widget_site_list', 'instance.crm_broadband.SiteList')
}
万维网
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-extend="sales_team.SalesDashboard">
<t t-jquery="div.o_sales_dashboard" t-operation="after">
<div class="o_board_div">
<div class="widget_site_list">
<t t-call="SiteList"/>
</div>
</div>
</t>
</t>
<t t-name="SiteList">
<div>
</div>
</t>
<t t-name="SiteElement">
<div>
<p><t t-esc="item.name"/></p>
</div>
</t>
</templates>