Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

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

    Odoo 新手求助
    3
    4
    2360
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      like_odoo last edited by

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

      0_1498809338532_001.png

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

      Felix_Cheng 1 Reply Last reply Reply Quote 0
      • Felix_Cheng
        Felix_Cheng @like_odoo last edited by Felix_Cheng

        @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 Reply Last reply Reply Quote 1
        • S
          Siyuan last edited by

          1. 先分清楚widget是在form上显示还是在list 上显示

          2. extend 基类widget

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

          4. 注册自己写的widget

          1 Reply Last reply Reply Quote 0
          • S
            Siyuan last edited by

            例子上可以参考:

            odoo form view pic url widget

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

            1 Reply Last reply Reply Quote 0
            • First post
              Last post