
Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn
由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解
本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!
开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号
如果您登录系统碰到问题,请在微信公众号留言:
odoo11在tree试图左上角增加一个自定义按钮?
-
怎么odoo11在tree试图左上角增加一个自定义按钮?比如在创建的旁边增加一个按钮
-
不是在所有视图上加,是在指定的model上加,求大神指点。在所有的视图上加已经实现了
-
运用model 控制
-
@winbo 在所有tree视图上添加自定义按钮的代码可不可以分享学习下啊
-
@hui 先写一个qweb的xml
<?xml version="1.0" encoding="utf-8"?> <templates t-name="custom_button_t"> <t t-extend="ListView.buttons"> <t t-jquery="div.o_list_buttons" t-operation="append" t-if="model_id.model=='login.sso'"> <!--<t t-set="foo" t-value="model_id.model"/>--> <!--<t t-esc="foo"/>--> <button name="custom_button" type="button" id="custom_button" class="btn btn-primary btn-sm o_list_tender_button_create " > <i class="fa fa-star"></i>自定义按钮 </button> </t> </t> </templates>
然后在__manifest__.py 增加
'qweb': ['static/xml/mybutton_qweb.xml'],
-
怎么代码变了。。。
-
@winbo 请使用markdown语法。代码部分可以用 ```包住,可以保持代码格式并且有语法高亮
-
可以在js扩展中添加按钮,同样可以在按钮上绑定模块的python后台方法,名字和方法直接在定义xml中进行配置。
-
@鲍永道 是的 就是这么操作。
@digitalsatori 我用''' '''包住还是显示不了xml代码 -
我用图片吧 mybutton_qweb.xml
然后 写一个js
处理这个按钮的方法就好了 -
@winbo 在 odoo11在tree试图左上角增加一个自定义按钮? 中说:
@鲍永道 是的 就是这么操作。
@digitalsatori 我用''' '''包住还是显示不了xml代码不是单引号,是backtick(反引号),就是跟波浪符号在一起的键。搞代码最起码markdown的语法还是要懂一点。
这次我帮你改一下。 -
@digitalsatori 明白了 非常感谢!
-
@winbo
能不能学习下js怎么操作model的? -
@hui
我这个就可以控制哪些model显示自定义的按钮,并且里面有对model的操作,可以看下odoo.define('tree_menu.tree_view_button', function (require) { "use strict"; var show_button_model = ['watermeters.watermeter'];//哪些模型显示导入按钮 var core = require('web.core'); var ListView = require('web.ListView'); var QWeb = core.qweb; ListView.include({ render_buttons: function ($node) { var self = this; this._super($node); var tree_model = this.dataset.model; for(var i = 0; i < show_button_model.length; i++) { this.$buttons.find('.o_list_tender_button_create').click(this.proxy('tree_view_action')); } }, tree_view_action: function() { this.do_action({ type: "ir.actions.act_window", name: "product", res_model: "product.template", views: [[false,'form']], target: 'current', view_type : 'form', view_mode : 'form', flags: {'form': {'action_buttons': true, 'options': {'mode': 'edit'}}} }); return { 'type': 'ir.actions.client','tag': 'reload', } } });
});
-
@winbo 怎么在所有试图上面添加啊?分享一下呗