跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 新手求助
  4. odoo11在tree试图左上角增加一个自定义按钮?

odoo11在tree试图左上角增加一个自定义按钮?

已定时 已固定 已锁定 已移动 Odoo 新手求助
15 帖子 6 发布者 3.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • W 离线
    W 离线
    winbo
    在 回复了 hui 最后由 digitalsatori 编辑
    #5

    @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'],
    
    digitalsatoriD 1 条回复 最后回复
    1
    • W 离线
      W 离线
      winbo
      在 回复了 hui 最后由 编辑
      #6

      @hui

      怎么代码变了。。。

      1 条回复 最后回复
      0
      • digitalsatoriD 离线
        digitalsatoriD 离线
        digitalsatori 管理员
        在 回复了 winbo 最后由 编辑
        #7

        @winbo 请使用markdown语法。代码部分可以用 ```包住,可以保持代码格式并且有语法高亮

        【上海先安科技】(tony AT openerp.cn)

        1 条回复 最后回复
        0
        • 鲍 离线
          鲍 离线
          鲍永道
          写于 最后由 编辑
          #8

          可以在js扩展中添加按钮,同样可以在按钮上绑定模块的python后台方法,名字和方法直接在定义xml中进行配置。

          1 条回复 最后回复
          0
          • W 离线
            W 离线
            winbo
            写于 最后由 编辑
            #9

            @鲍永道 是的 就是这么操作。
            @digitalsatori 我用''' '''包住还是显示不了xml代码

            digitalsatoriD 1 条回复 最后回复
            0
            • W 离线
              W 离线
              winbo
              写于 最后由 编辑
              #10

              我用图片吧 mybutton_qweb.xml
              0_1528937202356_507fbfcc-9114-44f3-bfa2-2849f5dab3fa-image.png

              然后 写一个js
              处理这个按钮的方法就好了

              1 条回复 最后回复
              0
              • digitalsatoriD 离线
                digitalsatoriD 离线
                digitalsatori 管理员
                在 回复了 winbo 最后由 digitalsatori 编辑
                #11

                @winbo 在 odoo11在tree试图左上角增加一个自定义按钮? 中说:

                @鲍永道 是的 就是这么操作。
                @digitalsatori 我用''' '''包住还是显示不了xml代码

                不是单引号,是backtick(反引号),就是跟波浪符号在一起的键。搞代码最起码markdown的语法还是要懂一点。
                这次我帮你改一下。

                【上海先安科技】(tony AT openerp.cn)

                W 1 条回复 最后回复
                0
                • W 离线
                  W 离线
                  winbo
                  在 回复了 digitalsatori 最后由 编辑
                  #12

                  @digitalsatori 明白了 非常感谢!

                  1 条回复 最后回复
                  0
                  • H 离线
                    H 离线
                    hui
                    写于 最后由 编辑
                    #13

                    @winbo
                    能不能学习下js怎么操作model的?

                    水 1 条回复 最后回复
                    0
                    • 水 离线
                      水 离线
                      水在时间之下
                      在 回复了 hui 最后由 编辑
                      #14

                      @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', } }
                      });
                      

                      });

                      1 条回复 最后回复
                      0
                      • 水 离线
                        水 离线
                        水在时间之下
                        在 回复了 winbo 最后由 编辑
                        #15

                        @winbo 怎么在所有试图上面添加啊?分享一下呗

                        1 条回复 最后回复
                        1

                        • 登录

                        • 没有帐号? 注册

                        • 登录或注册以进行搜索。
                        • 第一个帖子
                          最后一个帖子
                        0
                        • 版块
                        • 标签
                        • 热门
                        • 用户
                        • 群组