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

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

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

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

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

odoo12 widget的用法



  • 我在字段中存了一个URL拼接成的字符串, 如 图片URL1;图片URL2;图片URL3
    现在想在前端将字符串按符号分割并且将图片展示出来, 有人告诉我写widget, 然后我做了一个小demo发现start方法不执行, 想请教各位大神是什么原因

    JS

    odoo.define("web.upload_test", function(require){
    "use strict"
    
    require('web.dom_ready');
    var core = require('web.core');
    var widgetRegistry = require('web.widget_registry');
    var Widget = require('web.Widget');
        console.log("1");
        var Imgs = Widget.extend({
            template : 'upload_test',
            init : function(){
                console.log("2");
            },
            start : function(){
                console.log("3");
            },
        });
        return Imgs;
    });
    

    其中, console.log("1") 是已执行的代码, 令我困惑的是为什么start, init 不执行

    视图 部分代码

    <div><t t-name="upload_test"></t></div>
    

    请各位大神指点,谢谢



  • @las_aves

    继承的widget,是不是这个是必须的啊(我也不是很懂)

    init: function(parent) {
                this._super.apply(this, arguments); 
            },
    
    


  • This post is deleted!


  • form_custom_registry没添加,这样写没法调起吧
    console.log("1") 只能表示这个js文件被加载了



  • @l732893879
    您好, 我在项目中全局搜索没有发现您提到的 form_custom_registry, 请问这个是12的吗



  • var registry = require('web.field_registry');
    然后对应注册添加:
    // Basic fields
    registry
        .add('abstract', AbstractField)
        .add('input', basic_fields.InputField)
        .add('integer', basic_fields.FieldInteger)
        .add('boolean', basic_fields.FieldBoolean)
        .add('date', basic_fields.FieldDate)
        .add('datetime', basic_fields.FieldDateTime)
        .add('domain', basic_fields.FieldDomain)
        .add('text', basic_fields.FieldText)
        .add('html', basic_fields.FieldText)
        .add('float', basic_fields.FieldFloat)
        .add('char', basic_fields.FieldChar)
        .add('link_button', basic_fields.LinkButton)
        .add('handle', basic_fields.HandleWidget)
        .add('email', basic_fields.FieldEmail)
        .add('phone', basic_fields.FieldPhone)
        .add('url', basic_fields.UrlWidget)
        .add('CopyClipboardText', basic_fields.TextCopyClipboard)
        .add('CopyClipboardChar', basic_fields.CharCopyClipboard)
        .add('image', basic_fields.FieldBinaryImage)
        .add('binary', basic_fields.FieldBinaryFile)
        .add('pdf_viewer', basic_fields.FieldPdfViewer)
        .add('monetary', basic_fields.FieldMonetary)
        .add('percentage', basic_fields.FieldPercentage)
        .add('priority', basic_fields.PriorityWidget)
        .add('attachment_image', basic_fields.AttachmentImage)
        .add('label_selection', basic_fields.LabelSelection)
        .add('state_selection', basic_fields.StateSelectionWidget)
        .add('kanban_state_selection', basic_fields.StateSelectionWidget)
        .add('boolean_favorite', basic_fields.FavoriteWidget)
        .add('boolean_button', basic_fields.FieldBooleanButton)
        .add('boolean_toggle', basic_fields.BooleanToggle)
        .add('statinfo', basic_fields.StatInfo)
        .add('percentpie', basic_fields.FieldPercentPie)
        .add('float_time', basic_fields.FieldFloatTime)
        .add('float_factor', basic_fields.FieldFloatFactor)
        .add('float_toggle', basic_fields.FieldFloatToggle)
        .add('progressbar', basic_fields.FieldProgressBar)
        .add('toggle_button', basic_fields.FieldToggleBoolean)
        .add('dashboard_graph', basic_fields.JournalDashboardGraph)
        .add('ace', basic_fields.AceEditor);
    


  • @las_aves sorry这是10的,可能到12换写法了


Log in to reply