跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. 通过继承的方法在product里面加图片

通过继承的方法在product里面加图片

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
6 帖子 5 发布者 5.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • JoshuaJ 离线
    JoshuaJ 离线
    Joshua 管理员
    写于 最后由 编辑
    #1

    [size=99px]最近发现群上有朋友在问如何在product上面添加图片这个问题,我以前也搞过,初学者也有初学者的办法,这里我介绍一下我是如何实现的,因为觉得直接修改addon里面的module有些危险,不建议。所以通过自己写个继承模块来实现。 [/size]
    [size=99px][color=#000000]1.首先是包的构成:[/color][/size]
    [attach]509[/attach]
    [size=99px][color=red]init.py
    [/color][/size][color=#000000]

    import product_img
    

    [/color]
    [color=#000000]这里是初始化的时候需要模块里面的那些py文件,我这里是product_img.py。所以写import product_img[/color]

    [size=99px][color=red]terp.py[/color][/size]
    [color=#000000][code]{
    "name" : "simple_product_image",
    "version" : "1.0",
    "depends" : ["product"],
    "init_xml" : [],
    "update_xml" : ["product_img_view.xml"],
    "installable" : True,
    "active" : False,
    "author" : "Joshua",
    }[/code][/color]
    [color=#000000]这里的最重要的有[/color]
    [color=#000000]“depends”:就是需要依赖哪些module,我这里既然是继承product当然就是product了。[/color]
    “update_xml”:就是这个模块需要的Xml。我写了个是product_img_view.xml

    [size=99px][color=red]product_img.py[/color][/size][code]
    #!/usr/bin/python

    from osv import osv, fields

    class product_product(osv.osv):
    _name = 'product.product'
    _inherit = 'product.product'
    _description = 'Product'
    _columns = {
    'pic':fields.binary('Pic'),
    }

    product_product()[/code]这里是object的继承
    _name='product.product'._inherit = 'product.product'(此名字可以在Administrators->Customization->Database Structure->Object查找,不过我建议还是直接进addon里面看product模块)
    _columns就是字段了, 'pic':fields.binary('Pic'), 'pic'是字段名,就是数据库里面存的字段,:fields.binary就是图片在OE里面的字段类型,后面的'Pic'是在OE里面显示的名称。

    [size=99px][color=red]product_img_view.xml[/color][/size][code]
    <openerp>
    <data>
    <record id="product_img_view" model="ir.ui.view">
    <field name="name">product.normal.form</field>
    <field name="model">product.product</field>
    <field name="type">form</field>
    <field name="inherit_id" ref="product.product_normal_form_view"/>
    <field name="arch" type="xml">
    <field name="name" position="before">
    <field name="pic" widget="image" nolabel="1" img_width="300" img_height="300"/>
    </field>
    </field>
    </record>
    </data>
    </openerp>
    [/code]这里的格式其实都已经很固定的了。这里是view的继承
    “id”代表的是这个view,唯一。
    “name”就是你要继承的view的名字
    “model”就是你要继承的view的object...
    “ref”就是你要继承的view的id
    <field name="name" position="before">这句是是你的元件插入的时用于定位的我这里的意思是插在name之前
    <field name="pic" widget="image" nolabel="1" img_width="300" img_height="300"/>这句就是你所要插入的东西了,我这里是插入一个图片300*300大小的图片。
    [size=99px][color=red]效果图:[/color][/size]
    [attach]510[/attach]

    [size=99px][attach]511[/attach][/size]

    [[i] 本帖最后由 Joshua 于 2010-4-3 23:33 编辑 [/i]]

    【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

    1 条回复 最后回复
    0
    • mrshellyM 离线
      mrshellyM 离线
      mrshelly
      写于 最后由 编辑
      #2

      good..... 对于图片按比例缩放(客户端), 不知道有没有什么好招..

      1 条回复 最后回复
      0
      • B 离线
        B 离线
        bobrone
        写于 最后由 编辑
        #3

        要是能继承3D 文件就更强大了!

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

          受教了.
          那么颜色之类的属性都不在话下了.

          1 条回复 最后回复
          0
          • L 离线
            L 离线
            linyaohui
            写于 最后由 编辑
            #5

            谢谢joshua分享,谢谢

            1 条回复 最后回复
            0

            • 登录

            • 没有帐号? 注册

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