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

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

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

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

在产品分类下添加产品是如何做的



  • 产品菜单下的产品分类中
    可以打开产品分类树
    这个树是怎么调用产品的product.product.tree视图得那?



  • 也不知道自己整理的对不对 高手帮忙看下

    1、建立树形目录VIEW
            <record id="product_category_tree_view" model="ir.ui.view">
                <field name="name">product.category.tree</field>
                <field name="model">product.category</field>
                <field name="type">tree</field>#树形目录一定得是tree
                <field name="field_parent">child_id</field>#目录树 子树
                <field name="arch" type="xml">
                    <tree string="Product Categories">
                        <field name="name"/>
                    </tree>
                </field>
            </record>
    2、动作action 窗口动作(ir.actions.act_window)
            <record id="product_category_action" model="ir.actions.act_window">
                <field name="name">Products by Category</field>
                <field name="type">ir.actions.act_window</field>
                <field name="res_model">product.category</field>
                <field name="domain">[('parent_id','=',False)]</field>#这个一定要有。指定根目录
                <field name="view_type">tree</field>
                <field name="view_id" ref="product_category_tree_view"/>#关联上面的树view
            </record>
    3、菜单关联action
            <menuitem action="product_category_action" id="menu_product_category_action" parent="product.menu_main_product"
    sequence="1"/>
    4、点树时打开的那个view
            <record id="product_normal_action_tree" model="ir.actions.act_window">
                <field name="name">Products</field>
                <field name="type">ir.actions.act_window</field>
                <field name="res_model">product.product</field>
                <field name="view_type">form</field>
                <field name="view_mode">tree,form</field>
                <field name="domain">[('categ_id','child_of',[active_id])]</field>
                <field name="context">{'categ_id':active_id}</field>#新增时传递的categ_id参数,参数名应该是任意的吧?见6
            </record>
    5、由1中的树到4的view转。但是 这步是怎么触发的就不知道了似乎是内定的 tree点击就触发了?
            <record id="ir_product_category_open" model="ir.values">
                <field eval="'tree_but_open'" name="key2"/>
                <field eval="'product.category'" name="model"/>#注意这里的类是product.category
                <field name="name">Products by Categories</field>
                <field eval="'ir.actions.act_window,%d'%product_normal_action_tree" name="value"/>#转换到4了 类也变成product.product


                <field eval="True" name="object"/>
            </record>
    注意这个地方如果是在 系统管理--自定义--操作--关联动作到客户端事件中定义时res_id必须是空它默认是0
    6、接收4步骤中“context”传递的参数
        def _default_category(self, cr, uid, context={}):
            if 'categ_id' in context and context['categ_id']:
                return context['categ_id']
            return False



  • 对,第五步是关键



  • 原来从product.category.tree到下面的tree不是固定的,是通过优先级来控制的,我试着改变了他下面原有tree的优先级后,在点击它,它下面的就变成了另外一个tree。



  • "product.category.tree到下面的tree不是固定的"?
    product.category.tree下面还有TREE吗  没看明白 能说详细点吗