Navigation

    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账号

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

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

    Odoo 开发与实施交流
    5
    6
    4843
    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.
    • Joshua
      Joshua 管理员 last edited by

      [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]]

      1 Reply Last reply Reply Quote 0
      • mrshelly
        mrshelly last edited by

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

        1 Reply Last reply Reply Quote 0
        • B
          bobrone last edited by

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

          1 Reply Last reply Reply Quote 0
          • D
            d_yang last edited by

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

            1 Reply Last reply Reply Quote 0
            • L
              linyaohui last edited by

              谢谢joshua分享,谢谢

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