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

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

Odoo 中文社区

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

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

已定时 已固定 已锁定 已移动 Odoo 新手求助
15 帖子 6 发布者 7.6k 浏览 5 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • G 离线
    G 离线
    guwenfengvip163.com
    发表于 最后由 编辑
    #3

    运用model 控制

    1 条回复 最后回复
    0
    • W winbo

      不是在所有视图上加,是在指定的model上加,求大神指点。在所有的视图上加已经实现了

      H 离线
      H 离线
      hui
      发表于 最后由 编辑
      #4

      @winbo 在所有tree视图上添加自定义按钮的代码可不可以分享学习下啊

      W 2 条回复 最后回复
      0
      • H hui

        @winbo 在所有tree视图上添加自定义按钮的代码可不可以分享学习下啊

        W 离线
        W 离线
        winbo
        发表于 最后由 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'],
        
        D 1 条回复 最后回复
        1
        • H hui

          @winbo 在所有tree视图上添加自定义按钮的代码可不可以分享学习下啊

          W 离线
          W 离线
          winbo
          发表于 最后由 编辑
          #6

          @hui

          怎么代码变了。。。

          1 条回复 最后回复
          0
          • W winbo

            @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'],
            
            D 离线
            D 离线
            digitalsatori
            管理员
            发表于 最后由 编辑
            #7

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

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

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

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

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

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

                D 1 条回复 最后回复
                0
                • W 离线
                  W 离线
                  winbo
                  发表于 最后由 编辑
                  #10

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

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

                  1 条回复 最后回复
                  0
                  • W winbo

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

                    D 离线
                    D 离线
                    digitalsatori
                    管理员
                    发表于 最后由 digitalsatori 编辑
                    #11

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

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

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

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

                    W 1 条回复 最后回复
                    0
                    • D digitalsatori

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

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

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

                      W 离线
                      W 离线
                      winbo
                      发表于 最后由 编辑
                      #12

                      @digitalsatori 明白了 非常感谢!

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

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

                        水 1 条回复 最后回复
                        0
                        • H hui

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

                          水 离线
                          水 离线
                          水在时间之下
                          发表于 最后由 编辑
                          #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
                          • W winbo

                            不是在所有视图上加,是在指定的model上加,求大神指点。在所有的视图上加已经实现了

                            水 离线
                            水 离线
                            水在时间之下
                            发表于 最后由 编辑
                            #15

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

                            1 条回复 最后回复
                            1

                            你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

                            厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

                            有了你的建议,这篇帖子会更精彩哦 💗

                            注册 登录
                            回复
                            • 在新帖中回复
                            登录后回复
                            • 从旧到新
                            • 从新到旧
                            • 最多赞同


                            • 登录

                            • 没有帐号? 注册

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