You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenERP 8门户模块定制客户首页:如何获取登录客户ID?

在OpenERP 8门户中获取当前登录客户ID的解决方案

嘿,刚好之前在OpenERP 8里做过门户首页的定制,给你梳理下怎么快速拿到当前登录客户的ID,进而展示他们的专属产品:

核心思路

在OpenERP 8的网站控制器中,当路由设置了auth='user'时,你可以通过request对象直接获取当前登录的用户记录,而每个用户都会关联对应的客户(res.partner)记录——这正是你需要的客户ID来源。

控制器代码修改示例

把你现有的控制器改成这样,就能拿到客户ID并查询对应产品了:

from openerp.addons.web import http
from openerp.http import request

class PortalHomeController(http.Controller):
    @http.route('/home', auth='user', website=True, type="http")
    def portal_home(self):
        # 1. 获取当前登录的系统用户(res.users模型)
        current_user = request.env.user
        
        # 2. 关联到对应的客户记录(res.partner模型)
        current_customer = current_user.partner_id
        
        # 3. 提取客户ID
        customer_id = current_customer.id
        
        # 4. 根据客户ID查询其名下所有产品(这里假设产品模型是product.product,关联字段是partner_id,按需调整)
        customer_products = request.env['product.product'].search([('partner_id', '=', customer_id)])
        
        # 5. 把数据传递给你的"my homepage"模板
        return request.render('your_module_name.my_homepage_template', {
            'current_customer': current_customer,
            'customer_products': customer_products,
        })

关键细节说明

  • request.env.user:这是OpenERP控制器中获取当前登录用户的标准方式,返回的是res.users的记录对象。
  • user.partner_id:OpenERP的用户和客户是一对一关联的,门户用户登录后,这个partner_id就是该客户的专属记录,直接取id即可。
  • 产品查询部分:你需要根据自己实际的产品模型和关联字段调整search方法的条件,比如如果产品是通过customer_id关联的,就把partner_id改成对应的字段名。

模板中展示产品示例

在你的"my homepage"模板里,就可以直接用传递过来的customer_products变量来渲染产品列表了:

<div class="portal-home-products">
    <h2>您的专属产品</h2>
    <div class="product-list">
        <t t-foreach="customer_products" t-as="product">
            <div class="product-item">
                <h4><t t-esc="product.name"/></h4>
                <p><t t-esc="product.description_sale"/></p>
                <!-- 其他产品信息按需展示 -->
            </div>
        </t>
    </div>
</div>

注意事项

  • 确保门户用户的partner_id字段已经正确关联到对应的客户记录,避免出现空值。
  • 如果你的产品关联逻辑比较复杂(比如通过中间表关联),需要调整search方法的域条件来适配。

内容的提问来源于stack exchange,提问作者Amor.o

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:34:58