跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. 复制一个widgets 改个名字 自己调用 , 如何实现?? 各种widgets 类型什么意思??

复制一个widgets 改个名字 自己调用 , 如何实现?? 各种widgets 类型什么意思??

已定时 已固定 已锁定 已移动 Odoo 新手求助
4 帖子 3 发布者 2.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • L 离线
    L 离线
    like_odoo
    写于 最后由 编辑
    #1

    这是 多对多 形式的展现方式 我想新增一个
    core.form_widget_registry.add('many2many_kanban_my', FieldMany2ManyKanban1);
    实现的方式跟 原生的大体一样 我修改了一个文件
    .add('many2many_kanban', FieldMany2ManyKanban)

    0_1498809338532_001.png

    还有 widgets注册的方式 都是什么意思 如下图:
    0_1498809404230_002.png

    Felix_ChengF 1 条回复 最后回复
    0
    • Felix_ChengF 离线
      Felix_ChengF 离线
      Felix_Cheng
      在 回复了 like_odoo 最后由 Felix_Cheng 编辑
      #2

      @like_odoo

      试着来回答:“还有 widgets注册的方式 都是什么意思 ”

      这是在core.js文件web.core module中return 部分, new Registry()作用是 初始化注册器类和她的map属性,用来登记系统的widgets, map={键值对 } || null。Registry类还有get()和add()等方法。

      作用是:当我们在其他module中创建新的widget,注册widget就是往Registry类的map写键值对。e.g: 如web.form_widgets模块中,可以看到一行core.form_widget_registry.add( 'char', FieldChar ), 实质上就是往注册器map中添加键值对{..., 'char': FieldChar, ....},告知系统有个叫FieldChar的widget类。当需要继承Fieldchar时,就可以用代码core.form_widget_registry.get('char') 来获取他的widget类。

      列举一段代码来说明(顺便说一下:第一个问题应该也可以用这个原理来实现, 没试过):
      var core = require('web.core');
      form_widget_registry= core.form_widget_registry
      var FieldChar = form_widget_registry.get('char');
      var MyFieldChar = FieldChar.extend({
      template: 'MyTemplate' // my custom template
      // overriding ........ if you have
      });
      // register widget
      form_widget_registry.add('my_char', MyFieldChar);

      Felix / TriangleERP inc. / QC / CA

      1 条回复 最后回复
      1
      • S 离线
        S 离线
        Siyuan
        写于 最后由 编辑
        #3
        1. 先分清楚widget是在form上显示还是在list 上显示

        2. extend 基类widget

        3. 根据自己的业务逻辑重写方法

        4. 注册自己写的widget

        1 条回复 最后回复
        0
        • S 离线
          S 离线
          Siyuan
          写于 最后由 编辑
          #4

          例子上可以参考:

          odoo form view pic url widget

          https://renjie.me/2016/09/10/odoo-form-view-pic-url-widget/

          1 条回复 最后回复
          0

          • 登录

          • 没有帐号? 注册

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